Feature #16803
closedscript to push arvados tokens to shell node accounts
100%
Files
Updated by Ward Vandewege over 4 years ago
- File usr-local-arvados-install-arvados-tokens.rb.erb usr-local-arvados-install-arvados-tokens.rb.erb added
- File usr-local-arvados-ensure-.config-dir.sh.erb usr-local-arvados-ensure-.config-dir.sh.erb added
Scripts that we have used in the past attached.
Updated by Peter Amstutz over 4 years ago
Here's what I think we want to do:
- extend arvados-login-sync to include creating/installing tokens
- remove arvados-login-sync from the shell node cron
- add to API server cron
- ssh as root to each shell node (is in authorized_keys)
- set a root token in the environment
- run arvados-login-sync
In the future, the job of kicking off arvados-login-sync can be done in response to changes in VM permissions instead of from cron.
Updated by Peter Amstutz over 4 years ago
16803-shell-sync-tokens @ 71c57454fc3adf2d63db8b3cb1d0e8ecdff5c93f
Needs documentation update.
Updated by Peter Amstutz over 4 years ago
16803-shell-sync-tokens @ 6ed2e2c51fe463bfcf1b484d764af5bf47d416ad
- Create tokens
- Update documentation
- Documentation better covers security implications of single-user vs multi-user shell nodes and what to do about it.
Updated by Ward Vandewege over 4 years ago
Peter Amstutz wrote:
16803-shell-sync-tokens @ 6ed2e2c51fe463bfcf1b484d764af5bf47d416ad
- Create tokens
- Update documentation
- Documentation better covers security implications of single-user vs multi-user shell nodes and what to do about it.
services/login-sync/bin/arvados-login-sync:
- Move
FileUtils.chown_R(l[:username], nil, userdotconfig)
File.chmod(0700, userdotconfig)
to the end of the logins.each loop, where all the other chown/chmods are. That way the .config directory will always have the right permissions, even if it already existed, and it also ensures that configarvados and anything under it have the right permissions.
Similarly, it would be better if
File.chmod(0600, tokenfile)
was run every time, not only when the script creates the file.
Otherwise, LGTM, thanks!