README cleanup

pull/1/head
vilmibm 2023-03-09 06:47:32 +00:00
parent 8fb6208dbf
commit 76bf2643a6
3 changed files with 12 additions and 32 deletions

View File

@ -1,25 +1,11 @@
THIS COMMAND is for reviewing applications made to tilde.town. it's for admins to run. THIS COMMAND is for reviewing applications made to tilde.town. it's for admins to run.
signups land in `/town/signups` as JSON files. This tool iterates over them and Signups are read from /town/var/signups/signups.db . Approved signups create rows in /town/var/invites/invites.db .
lets an admin take one of a few actions:
# verbs in the TUI:
- skip - skip
- approve - approve
- reject - reject
- notate (leave a note for other admins) - notate (leave a note for other admins)
- jump to random signup - jump to random signup
some other requirements in no particular order:
- JSON files should be locked when being looked at
- notation modifies the JSON in place
- approved signups go to `/town/signups/approved`
- rejected signups go to `/town/signups/rejected`
I'm not 100% sure yet what approval is going to look like; I want to switch to
a system where people are emailed about their acceptance and given a code they
can exchange for an ssh form that lets them pick a username and add a pubkey.
so for now i'm just going to move the files into `/town/signups/approved` while
i think about that.

View File

@ -1,4 +1,5 @@
# town signup # town signup
The point of this command is to enable signing up for tilde.town via an ssh connection. It is designed to be run when `join@tilde.town` is SSH'd to. The point of this command is to enable signing up for tilde.town via an ssh connection. It is designed to be run when `join@tilde.town` is SSH'd to.
## to-dos ## to-dos
@ -9,21 +10,13 @@ The point of this command is to enable signing up for tilde.town via an ssh conn
- [x] write answers to disk - [x] write answers to disk
- [x] take out sidebar - [x] take out sidebar
- [x] add /help - [x] add /help
- [ ] make copy clearer (that you say whatever and *then* type verb) - [x] make copy clearer (that you say whatever and *then* type verb)
- [x] enter to send - [x] enter to send
- [ ] splash screen - put off - [ ] splash screen - put off
- [ ] easter egg commands - put off - [ ] easter egg commands - put off
- [ ] inactivity timer(?) - put off - [ ] inactivity timer(?) - put off
- [ ] review tool - [x] review tool
- [x] iterate over answers - [x] actual account creation
- [ ] accept
- [ ] notate
- [ ] reject
- [ ] send email with directions on key upload
- [ ] actual account creation
- [ ] accept key
- [ ] accept username
- [ ] create user
- [ ] backlog - [ ] backlog
- [ ] get a manual dump from psql of json - [ ] get a manual dump from psql of json
- [ ] convert into files in the review directory - [ ] convert into files in the review directory

View File

@ -6,8 +6,9 @@ responsible for:
1. accepting and validating an invite token generated by the `review` command 1. accepting and validating an invite token generated by the `review` command
2. accepting and validating a new user's username choice (ie enforcing rules and checking for dupes) 2. accepting and validating a new user's username choice (ie enforcing rules and checking for dupes)
3. accepting and validating a user's email for use in account recovery (defaulting to an email embedded in the invite token) 3. accepting and validating a user's email for use in account recovery (defaulting to an email embedded in the invite token)
4. accepting and validating a display name 4. accepting and validating a display name (PUT OFF)
5. accepting and validating a user's public ssh key 5. Confirming that a user agrees to our CoC
6. accepting and validating a user's public ssh key
upon receipt of these things a user account is created. if it fails, the user upon receipt of these things a user account is created. if it fails, the user
is told about the failure and told to email root@tilde.town for guidance; us is told about the failure and told to email root@tilde.town for guidance; us
@ -26,10 +27,10 @@ an invite token consists of two pieces that are then base64 encoded. the first p
something like: something like:
``` ```
welcome ALL=(ALL)NOPASSWD:/usr/sbin/adduser,/usr/sbin/usermod,/bin/mkdir,/town/bin/generate_welcome_present.sh,/town/bin/create_keyfile welcome ALL=(ALL)NOPASSWD:/usr/sbin/adduser,/usr/sbin/usermod,/town/bin/createkeyfile,/town/bin/generate_welcome_present.sh,/town/bin/registeruser
``` ```
though I will likely move welcome_present generation inline to `welcome` itself. I'd like to consolidate adduser/usermod calls into a single "createuser" helper. I'd also like to move the welcome present generation into `welcome`. TODO.
## user creation flow ## user creation flow