update README
continuous-integration/drone/pr Build is passing Details

This commit is contained in:
Max Erenberg 2021-09-09 23:37:53 -04:00
parent 6862ff4a63
commit 1eeb5bc10b
1 changed files with 34 additions and 4 deletions

View File

@ -6,13 +6,35 @@ club accounts and memberships. See [architecture.md](architecture.md) for an
overview of its architecture. overview of its architecture.
## Development ## Development
First, make sure that you have installed the ### Docker
If you are not modifying code related to email or Mailman, then you may use
Docker containers instead, which are much easier to work with than the VM.
```
docker.sh up
```
This will create some containers with the bare minimum necessary for ceod to
run. Run `docker logs -f phosphoric-acid` and wait until you see the line
`sleep infinity`. Then attach to each of phosphoric-acid, mail and coffee,
and start ceod (see 'Running the application', below). Once inside a container,
make sure to `cd` into the current working directory on the host.
To use ceo, run the following inside the phosphoric-acid container:
```
login
<username is ctdalek, password is krb5>
<cd into your directory OUTSIDE the container>
. venv/bin/activate
python -m ceo
```
This should bring up the TUI.
### VM
If you are making changes related to email or Mailman, you will need the full
[syscom dev environment](https://git.uwaterloo.ca/csc/syscom-dev-environment). [syscom dev environment](https://git.uwaterloo.ca/csc/syscom-dev-environment).
This will setup all of the services needed for ceo to work. You should clone This will setup all of the services needed for ceo to work. You should clone
this repo in the phosphoric-acid container under ctdalek's home directory; you this repo in the phosphoric-acid container under ctdalek's home directory; you
will then be able to access it from any container thanks to NFS. will then be able to access it from any container thanks to NFS.
### Environment setup
Once you have the dev environment setup, there are a few more steps you'll Once you have the dev environment setup, there are a few more steps you'll
need to do for ceo. need to do for ceo.
@ -148,8 +170,16 @@ is running. Stop the flask app (Ctrl-C), run `clear_cache.sh`, then
restart the app. restart the app.
## Interacting with the application ## Interacting with the application
The client part of ceo hasn't been written yet, so we'll use curl to To use the TUI:
interact with ceod for now. ```
python -m ceo
```
To use the CLI:
```
python -m ceo --help
```
Alternatively, you may use curl to send HTTP requests.
ceod uses [SPNEGO](https://en.wikipedia.org/wiki/SPNEGO) for authentication, ceod uses [SPNEGO](https://en.wikipedia.org/wiki/SPNEGO) for authentication,
and TLS for confidentiality and integrity. In development mode, TLS can be and TLS for confidentiality and integrity. In development mode, TLS can be