# New commands for signups ## 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 ` - `user-key remove `