42 lines
1.3 KiB
Markdown
42 lines
1.3 KiB
Markdown
# New commands for signups, rough draft
|
|
|
|
## town-signup
|
|
|
|
this binary is run by OpenSSH when a user anywhere in the world runs `ssh join@tilde.town`. It should:
|
|
|
|
- collect information about an application from a user
|
|
- allow them to edit their responses before submitting
|
|
- write a yaml file of their responses to disk
|
|
|
|
## review-signups
|
|
|
|
this binary is run by town admins in order to review, approve, notate, and reject applications. It should:
|
|
|
|
- iterate over signups
|
|
- allow fuzzy finding a particular signup
|
|
- allow approval using create-user
|
|
- allow rejection
|
|
- just move signup to archived rejected signup directory
|
|
- allow notating an application, ie:
|
|
- lock the yaml file for writing
|
|
- add notes to the yaml file that can be seen by other admins
|
|
- print info about historical signups
|
|
|
|
## create-user
|
|
|
|
this binary is called by `review-signups` to take a yaml application and create a user on disk. It should:
|
|
|
|
- create the user idempotently
|
|
- `adduser`
|
|
- `usermod` to set group
|
|
- calling `add-key` for user
|
|
- move the yaml file to an archive directory of approved signups
|
|
|
|
## user-key
|
|
|
|
this binary helps manage keys for users; basically automating the listing, adding, and removing of public keys for a user.
|
|
|
|
- `user-key add <username> <keyfile`
|
|
- `user-key list <username>`
|
|
- `user-key remove <username>`
|