First, a disclaimer:
This is not security software. I take security very seriously. I am absolutely not perfect; none of us are; myself especially. I've learned to value peer review very highly, and this has not been put through that yet. I would not advocate using this on anything sensitive yet, and you should take certain cautions in deployment. This is a swiss-army knife tool I built to get a certain job done. It's working quite well for me, and I only want it to get better.
-
After cloning this repo,
cd /path/to/CompassAnnex
and pull down the necessary submodules withgit submodule update --init --recursive
-
Run
./setup.sh
or pre-configure the Annex with a .json config file (see Configure for more info) with./setup.sh /path/to/config.json
. -
Follow the prompts.
You may create a .json config file with any of the following directives to suit your needs.
-
ssh_root (str) The full path to your SSH config
-
annex_dir (str) The full path to your local submission folder (which should not exist beforehand!)
-
uv_server_host (str) The Annex server's hostname
-
uv_uuid (str) The shortcode for the server
The Annex will broadcast the status of all tasks to connected web Frontend clients via websocket.
Messages from the annex channel will have the following format:
{
"_id" : "c895e95034a4a37eb73b3e691e176d0b",
"status" : 302,
"doc_id" : "b721079641a39621e08741c815467115",
"task_path" : "NLP.gensim.get_topics",
"task_type" : "UnveillanceTask"
}
The annex channel will also send messages acknowledging the status of the connection. Developers can do with that what they will. The _id
field is the task's ID in our database, the doc_id
field represents the document in question (where available).
- 201 (Created) Task has been registered.
- 302 (Found) Task is valid, and can start.
- 404 (Not Found) Task is not valid; cannot start.
- 200 (OK) Task completed; finishing.
- 412 (Precondition Failed) Task failed; will finish in failed state.
- 205 (Reset Content) Task persists, and will run again after the designated period.
- 410 (Gone) Task deleted from task queue.