Documentation
OpenBao Kubernetes KMS Provider
The bao-kms-provider process implements the Kubernetes Key Management Service
(KMS) v2 protocol on a local Unix socket. It forwards encrypt and decrypt
operations to OpenBao Transit. Kubernetes uses the provider for envelope
encryption of selected API resources before persisting them to etcd. The
provider does not encrypt etcd disk blocks, application volumes, or node
filesystems.
Operators usually move through Start Here , Deployment , Operations , Reference , and Security . Maintainers should use Architecture for design rationale and trust boundaries. Contributors should use Development for local workflow, continuous integration, and release process.
Workflow
Read In The Order You Operate
- 01
Check Fit
Confirm that Kubernetes KMS v2 covers the API resources you plan to encrypt. Check that the OpenBao Transit model matches your trust boundary and tested versions.
- 02
Set Up OpenBao
Provision a Transit mount, an
aes256-gcm96key, a least-privilege policy, and JSON Web Token (JWT) authentication for the Kubernetes API server identity. - 03
Install And Wire The Provider
Install
bao-kms-provider, choose between systemd and static-pod deployment, and write theEncryptionConfigurationthat the Kubernetes API server consumes. - 04
Verify End-To-End
Run the first-encrypt smoke test. Confirm
key_idstability, additional authenticated data (AAD), metrics, health endpoints, and redacted logs before production use. - 05
Operate And Recover
Rotate Transit keys, recover from OpenBao or etcd loss, and test provider rollback during upgrades. Use the failure-mode catalog to diagnose faults.
Sections
Documentation Map
Reference
Support, Security, And Internals
CLI behavior, configuration shape, KMS v2 contract, key_id and AAD format, observability surface, and Transit policy boundaries.
SecurityThreat model, hardening requirements, JWT-first authentication, decrypt validation, and documented security limitations.
ArchitectureComponent model, OpenBao Transit key design, rotation invariants, failure-mode catalog, and prior-art comparison.