Project

General

Profile

Actions

Idea #6781

closed

[Documentation] Document user shell account creation script

Added by Brett Smith over 9 years ago. Updated over 9 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
Documentation
Target version:
Start date:
08/13/2015
Due date:
Story points:
1.0

Description

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 this setup is undocumented and the script does not ship with Arvados.

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 both Gemfile and Gemfile.lock to git because this is an application, not a library.
  • Add tests in test/test_arvados-login_sync.rb -- maybe poor coverage for now, but at least something so the usual "bundle exec rake test" can succeed in jenkins.
  • 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, and configuring it to run in cron, to the shell server installation documentation.
This 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.

Refs

Subtasks 6 (0 open6 closed)

Task #6899: Modify sync script to use env vars instead of yamlResolvedTom Clegg08/14/2015Actions
Task #6902: Build and publish deb and rpmResolvedTom Clegg08/14/2015Actions
Task #6900: Build and publish gemResolvedTom Clegg08/13/2015Actions
Task #6901: Add testsResolvedTom Clegg08/13/2015Actions
Task #6985: Add to "shell server" install doc pageResolvedTom Clegg08/13/2015Actions
Task #6897: Review 6781-arvados-login-sync (on arvados-dev and arvados)ResolvedTom Clegg08/19/2015Actions
Actions

Also available in: Atom PDF