feat(openbao): add install openbao command#408
Merged
Conversation
b9f46d4 to
c2d6a05
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new oms install openbao subcommand that bootstraps OpenBao via the Bank-Vaults Operator with a SOPS-encrypted DR backup workflow. Also adjusts the Helm client to scope settings/registry per-call, extends the GVR mapper for the new resource kinds, adds a SOPS decrypt helper, and refreshes generated NOTICE files.
Changes:
- New
OpenBaoInstallerorchestrating namespace/operator deploy, Vault CR templating, init waiting, DR encrypt/decrypt, and root-token cleanup, plus a CLI wrapper and docs. - Helm client now creates per-call
cli.EnvSettingsand a registry client so chart locating/RESTClientGetter use the requested namespace and OCI charts work. GvrForUnstructuredextended forVault,ServiceAccount,Role,RoleBinding;DecryptFileWithSOPShelper added.
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| internal/installer/openbao.go | Full Day-0 bootstrap pipeline for OpenBao (DR check, password, operator, CR apply, init wait, encrypt, cleanup). |
| internal/installer/openbao_test.go | Ginkgo tests covering operator deploy, security cleanup, DR pre-flight, init wait, encrypt round-trip. |
| internal/installer/manifests/openbao/vault-cr.yaml | Embedded template producing SA/Role/RoleBinding and the Bank-Vaults Vault CR. |
| internal/installer/vault_encryption.go | Adds DecryptFileWithSOPS helper used during DR restore. |
| internal/installer/helm_client.go | Refactors to per-call helmEnv (settings + action config) and adds OCI registry client. |
| internal/util/k8s.go | Adds VaultGVR and GVR mappings for new kinds. |
| cli/cmd/install_openbao.go | New cobra command wiring and prereq check. |
| cli/cmd/install.go | Registers the new subcommand. |
| docs/oms_install_openbao.md, docs/oms_install.md | Generated docs for new subcommand. |
| NOTICE, internal/tmpl/NOTICE | Regenerated dependency NOTICE files. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
3b2e9e5 to
0e7717a
Compare
ce31bb5 to
a20db2a
Compare
…e DR backup credentials
…t override behavior
NautiluX
approved these changes
May 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds
oms install openbao— a Day-0 bootstrap command for OpenBao using the Bank-Vaults Operator with SOPS-encrypted DR backups (no external KMS required).What it does
storeRootToken: false); bank-vaults derives temporary root tokens from unseal keys via the Generate Root Token protocolOther changes
GvrForUnstructuredextended with explicit cases for Vault CR template kinds (ServiceAccount, Role, RoleBinding, Vault)DecryptFileWithSOPShelper added--storage-sizeflag