From 1eeb5bc10b8cc903298181a03dcaef0074e1d535 Mon Sep 17 00:00:00 2001 From: Max Erenberg <> Date: Thu, 9 Sep 2021 23:37:53 -0400 Subject: [PATCH] update README --- README.md | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 2a8e1b9..ab010a5 100644 --- a/README.md +++ b/README.md @@ -6,13 +6,35 @@ club accounts and memberships. See [architecture.md](architecture.md) for an overview of its architecture. ## 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 + + +. 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). 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 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 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. ## Interacting with the application -The client part of ceo hasn't been written yet, so we'll use curl to -interact with ceod for now. +To use the TUI: +``` +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, and TLS for confidentiality and integrity. In development mode, TLS can be