Secret objects.
Key Components
| Component | Role | Typical Usage |
|---|---|---|
| Sealed Secrets Operator | Cluster-side controller | Watches for SealedSecret CRs and converts them into standard Secrets |
| kubeseal CLI | Local or CI command-line utility | Encrypts plain Secret manifests into SealedSecret manifests |
| SealedSecret Custom Resource | CRD defining encrypted secret schema | Lets the Operator recognize and decrypt your encrypted payloads automatically |
- A running Kubernetes cluster (v1.13+).
- The Sealed Secrets Operator installed:
kubectl apply -f https://github.com/bitnami-labs/sealed-secrets/releases/download/v0.23.0/controller.yaml - Public key accessible for
kubeseal:
kubeseal --fetch-cert > public-cert.pem
Always back up the private key used by the Sealed Secrets controller. Losing it means you won’t be able to decrypt existing
SealedSecret resources.GitOps Workflow for Encrypted Secrets
-
Define a Kubernetes Secret
Create a plainSecretmanifest (e.g.,db-credentials.yaml). -
Encrypt with kubeseal
-
Commit to Git
Push theSealedSecretmanifest (sealed-db-credentials.yaml) to your repository. -
Automatic Decryption
The Sealed Secrets Operator detects the newSealedSecret, decrypts it, and generates a standardSecretfor your pods to consume.