Secret storage
The Foreman project uses gopass to store shared secrets. This is achieved by storing GPG encrypted files in git repositories.
Client access
First install gopass. On Fedora:
dnf install gopass
Ensure that gopass
is initialized after installing the first time (and that your GPG private key is present on the system):
gopass init <YOUR-PUB-KEY-HASH>
Stores
Releases
This store is meant for release engineers and can be cloned:
gopass clone secrets.theforeman.org:/srv/secretsgit/theforeman-release.git theforeman/releases
Shared
Contains account access for Infra admins.
gopass clone secrets.theforeman.org:/srv/secretsgit/theforeman-passwords.git theforeman/shared
Server setup
This is managed by the Puppet class secretsgit
and served on the secrets.theforeman.org
hostname. Technically this is a DNS CNAME to the real server.
Granting access
- Ensure SSH access is available
- Add the user to
secretsgit::users
- Add the user's key as a recipient:
gopass sync && gopass recipients add --store theforeman/releases 1234567890ABCDEF && gopass sync