Project

General

Profile

Idea #6781

Updated by Tom Clegg over 8 years ago

Our shell servers run a regular cron job to add Unix user accounts for users who have permission to log in to the corresponding Arvados VirtualMachine record.    Currently Right now this setup is undocumented and completely undocumented.    Worse, the script does not ship with Arvados. doesn't live in any public repository. 

 To fix: 
 * Create a gem in services/arvados-login-sync/ containing a @bin/arvados-login-sync@ executable (see http://guides.rubygems.org/make-your-own-gem/#adding-an-executable) that is a small wrapper around some easy-to-test code in @lib/arvados/login_sync.rb@ 
 * Add tests in test/test_arvados-login-sync.rb. 
 * Add services/arvados-login_sync to run-tests.sh. 
 * Add arvados-login-sync to the "build packages" scripts in arvados-dev. 
 * Add documentation about installing the resulting deb/rpm package, this script, and configuring it to run in cron, to the shell server installation documentation. 

 This TBD by engineering: Where should leave us with two standard options for installing the sync program: 
 * gem install arvados-login_sync 
 * apt-get install arvados-login-sync 

 Configuration: 
 * For an initial implementation the login-sync program should get its API token from the usual environment variable. The cron job's command line can set this up either by including a literal token or by loading it from a config file with "read" or "source". 

 *Ideally* the deb and rpm packages will install/remove the cron job automatically when installing/removing the package, but this story already includes enough new packaging skills without that. script live?

Back