Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to store secrets #25

Open
domenkozar opened this issue Mar 11, 2016 · 7 comments
Open

How to store secrets #25

domenkozar opened this issue Mar 11, 2016 · 7 comments
Labels

Comments

@domenkozar
Copy link
Contributor

With Hydra and snabb bot we have to store secrets besides the deployment. We don't want them to be exposed, so maybe we should consider encrypting them into git.

https://github.com/StackExchange/blackbox

@lukego
Copy link
Contributor

lukego commented Mar 20, 2016

Questions:

  • What secrets do we have?
  • Where do they need to be used?
  • How hard are they to replace?

If our only secret is a Github API token, and it is only used by Snabb Bot, and we can revoke it and issue a new one at any time, then I don't think Blackbox helps us. However, we might want to either setup a minimal secure environment for running Snabb Bot or make sure the secrets are not dangerous.

I am not sure what secrets Hydra uses...?

Could be that running both Hydra and NixOps on the same server is problematic i.e. giving the whole community root access to the CI machine. Could consider separating those somehow.

@domenkozar
Copy link
Contributor Author

What secrets do we have?
Where do they need to be used?

Currently we have two for Hydra. One to sign built packages and one SSH key pair for Hydra to access build slaves. These keys are now present on eiger and my machine.

In very soon future we'll need GitHub API token for Snabb Bot as you've said. If that's read-only token we can expose it to public as it's public access anyway.

I would limit access to eiger to only those working with infrastructure, to avoid any disasters. #19 would get rid of NixOps dependency and reduce human error at deployments (I'd really like that as it will improve our QA).

@domenkozar
Copy link
Contributor Author

We could just use nixops to copy them on bootstrap: http://permalink.gmane.org/gmane.linux.distributions.nixos/20368

@domenkozar
Copy link
Contributor Author

We'll need this very very soon now that davos is running NixOS. cc @eugeneia

@eugeneia
Copy link
Collaborator

eugeneia commented Jun 29, 2016

Current solution is to store GitHub credentials for SnabbBot on eiger. For now I am satisfied with that. My proposed solution is to have a private repository that is a fork of snabblab-nixos which has a long lived branch that adds the secrets.

@domenkozar
Copy link
Contributor Author

I'd do that + encrypting the files and sharing the key only through private conversations.

@eugeneia
Copy link
Collaborator

Encrypting anything seems overkill to me. Just have the secrets in a private repo, give access only to people who have to touch eiger. E.g. repo acess would be the key.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants