Source tree layout

(draft)

Focused on Go programs, with room for client libraries and legacy Ruby/Python/Perl code:

cmd                # Go programs ("package main" / executable)
  arvados-client   # Ideally includes all Apache2 (client side) tools
  arvados-server   # Ideally includes all client side + server side tools + daemons

lib                # (should be split into /server and /client at top level?)
  cmd
  controller
  health
  mount

sdk                # ("client" would be more normal, can we symlink existing path so outside Go programs don't break?)
  go
    arvados
    auth
    httpserver
    ...
  python
  ruby
  ...

apps               # deprecated -- want to refactor into cmd/
  workbench

services           # deprecated -- want to refactor into lib/ and cmd/
  api
  keepproxy
  keepstore

tools              # deprecated -- want to refactor into lib/ and cmd/
  arvbash
  arvbox
  crunchstat-summary
  keep-block-check
  keep-exercise
  keep-rsync
  sync-groups