Project 'gitlab-com/infrastructure' was moved to 'gitlab-com/gl-infra/production-engineering'. Please update any links and bookmarks that may still have the old path.
[META] Install hashicorp vault and secure it
Progress:
- Vault terraform prerequisites: module, security groups, networks, etc: https://gitlab.com/gitlab-com/gitlab-com-infrastructure/merge_requests/86
- Vault VM: https://gitlab.com/gitlab-com/gitlab-com-infrastructure/merge_requests/92
- [prerequisite] internal apt mirror (https://dev.gitlab.org/cookbooks/gitlab_aptly)
-
Package Vault in .deb (https://gitlab.com/gitlab-pkg/gitlab-vault)
- With config
- With systemd unit file
- With integration tests
- With in-memory backend for bootstraping
- With PGP encrypted root token and unseal keys by default
- Collect @gl-infra PGP keys (https://gitlab.com/gitlab-com/infrastructure/issues/2851)
- Setup CI vaults with reusable backend on S3
- Implement CA
- Setup staging instance of the vault and let people play with it (at this point #2604 (closed) should be unblocked)
- Bootstrap CA on staging vault
- With CA, set up monitoring and rsyslog for staging vault.
- Switch staging vault to use consul backend, TLS being protected by the above CA
- Implement other secret backends (TBD)
- Implement HA setup in staging (second vault, cluster address, update monitoring).
- Disaster recovery testing in staging.
- Setup production HA setup.
- Write runbooks on how to use/setup/destroy/maintain the vault.
- Write runbook and test changing the set of unseal GPG keys due to loss/compromise/etc.
- Disable SSH by default.