Bug #2449
Updated by Tom Clegg almost 11 years ago
See current spec at [[arvados:Keep server]]
Goals for this sprint:
* Read and write using existing filesystem structure
* Enforce "one read/write operation per mount point" restriction (with command line flag to disable, for AWS. @--no-io-lock@?)
* Command line argument (@--port@?) specifies port to listen on. Fail if none given.
* Command line arguments (@--ssl-key@ and @--ssl-cert@?) enable https mode. Otherwise, plain http.
* Command line arguments (positional?) specify mount points ("run" script can be in charge of mount|grep etc)
* Test suite (use a tmpfs?)
May have to defer to next sprint:
* Permissions, wiht command line argument to disable (i.e., everyone can read everything). @--no-permissions@?
** If permissions are disabled, index (@GET /@) does not work unless remote address matches @--privileged-ip@ command line argument
* Events (startup, shutdown, read, write, corrupt-data, disk-full) are reported through an internal event queue (presumably to a queue/worker goroutine?).
** Command line flag to set maximum event queue length. If maxq==0, read/write is impossible until the read/write event is successfully processed by event queue (i.e., audit trail is more important than uptime).
** Stub worker with "write to stderr". Test with "sleep 1; write to stderr" + @ab(1)@.
** When Event Bus API exists, the queue worker will require acknowledgement from event bus before dequeueing.