forked from tildetown/town
README cleanup
parent
8fb6208dbf
commit
76bf2643a6
|
@ -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.
|
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue