Secrets Management
Learn where credentials live and how they reach a workload without being copied along the way. Dynamic secrets and leases, HashiCorp Vault auth, policies and tokens mapped to the Vault Associate objectives, transit encryption as a service, Sealed Secrets and SOPS under GitOps, cert-manager and ACME, and OIDC federation in CI — remembered with spaced repetition.
- flashcards
- 113
- flashcards
- per day
- ~10 min
- per day
- level
- Intermediate → Advanced
- level
- modules
- 7
- modules
What is secrets management?
Secrets management is the practice of keeping credentials out of the places they naturally accumulate — config files, CI variables, container images, someone's shell history — and delivering them to workloads in a form that can be scoped, audited and revoked. The failure mode it exists to prevent is not usually a clever attack. It is a key that was copied somewhere convenient years ago, is still valid, and that nobody can now say who holds.
The discipline splits into two problems that get conflated. The first is storage: where the value lives and who may read it. The second, and harder one, is introduction — how a workload proves who it is before it holds any credential at all. That is the secret-zero problem, and the modern answer is to lean on an identity the platform already asserts: a Kubernetes service account, an AWS IAM role, a GitHub Actions OIDC token. Solve introduction well and the long-lived key disappears entirely rather than merely moving somewhere safer.
This track follows the whole chain. Fundamentals first — secret sprawl, dynamic versus static secrets, leases and revocation, envelope encryption and crypto-shredding. Then HashiCorp Vault in depth, structured around the Vault Associate (003) exam objectives: auth methods and identity, policy paths and capabilities, service versus batch tokens, secrets engines from KV v2 to dynamic database credentials and PKI, transit as encryption as a service, seal and unseal with Shamir shares, replication, and the Vault Agent and Secrets Operator. Then the surrounding ecosystem: Sealed Secrets, SOPS and External Secrets Operator for GitOps, cert-manager for certificates, and the cloud and CI end where GitHub Actions can reach a cloud account with no stored key at all.
7 modules, seed to bloom
Each module is a set of flashcards — 113 in total. Answer, review, and watch your knowledge grow from seed to full bloom.
Secrets Fundamentals
Secret sprawl, dynamic vs static secrets, leases and TTL, secure introduction, envelope encryption, rotation vs revocation
15 cardsVault Auth, Policies & Tokens
Auth methods and identity, policy paths and capabilities, service vs batch tokens, accessors, TTL and orphaned tokens
18 cardsVault Leases, Engines & Encryption
Lease IDs and renewal, KV v2 versioning, database and PKI engines, transit encryption as a service, response wrapping
18 cardsVault Operations & Kubernetes
Seal and unseal, Shamir shares and auto-unseal, storage backends, DR vs performance replication, Vault Agent and the Secrets Operator
15 cardsSecrets in GitOps
Sealed Secrets scopes and controller keys, SOPS encryption rules and key backends, External Secrets Operator CRDs and refresh
16 cardsCertificates with cert-manager
Issuers and ClusterIssuers, ACME accounts, HTTP-01 and DNS-01 solvers, the Certificate resource, renewal and lifecycle
16 cardsCloud Secret Stores & CI
Parameter Store versus Secrets Manager, Azure Key Vault containers, Google Secret Manager versions, GitHub Actions OIDC, secret scanning
15 cardsSample questions
A taste of the real flashcards. Pick an answer, then reveal the explanation.
What makes a credential a dynamic secret rather than a static one?
- AIt is generated on request and tied to a lease, so it never pre-exists in storage
- BIt is stored encrypted and the same value is returned to every authorised client
- CIt is rotated on a fixed schedule while the credential itself keeps its identity
- DIt is replicated to every cluster so clients always read it from the nearest node
When is a batch token the better choice than a service token in Vault?
- AFor short high-volume workloads, since batch tokens are not persisted
- BFor long-running services, since batch tokens renew without a lease
- CFor operator sessions, since batch tokens can be revoked individually
- DFor cross-cluster requests, since batch tokens replicate ahead of use
What makes the transit rewrap operation safe to run from an untrusted process?
- AIt upgrades ciphertext to the newest key without revealing the plaintext
- BIt runs only when the caller also presents the original encryption key
- CIt requires the sudo capability, so only operators can ever invoke it
- DIt works on a copy, leaving the original ciphertext in place unchanged
Who is able to decrypt a SealedSecret?
- AOnly the controller in the target cluster, not even its author
- BAnyone holding the kubeseal binary and the cluster's public key
- CAny cluster administrator, using the certificate bundled in the resource
- DThe author and the controller, since the author keeps a copy of the key
Which solver do you need in order to issue a wildcard certificate?
- ADNS01, because the challenge is answered in the domain's zone
- BHTTP01, because the CA fetches the key from the wildcard host
- CEither one, since the solver has no bearing on wildcard support
- DBoth together, since a wildcard requires two independent proofs
Learn it once, keep it for good
Answer a question
Each card is one practical concept with multiple options. Pick what you think is right.
Get the full answer
See the correct option plus a clear explanation, and a link to deeper docs when one is available.
Review at the right time
A spaced-repetition engine (SM-2 or FSRS) resurfaces each card just before you would forget it.
Why secrets management is worth your time
The problem that is not getting solved
Long-lived credentials remain the standing failure across surveys year after year. The mechanics of replacing them — dynamic secrets, short leases, OIDC federation — are learnable in an afternoon and rarely taught.
Mapped to the Vault Associate objectives
The three Vault modules follow the published exam objectives — auth and policies, leases and engines, operations and Kubernetes — so exam prep and real understanding are the same work.
Every card cites its source
Facts come from HashiCorp, cert-manager, external-secrets.io, SOPS, AWS, Azure, Google and GitHub documentation, each card linked to the page that states it.
The distinctions that actually bite
A lease renewal measured from now rather than added to the remainder; deny winning over any grant; DR secondaries serving nothing until promoted. Details that decide whether a design works.
Common questions
What is a dynamic secret? +
A credential that does not exist until a client asks for it. Vault creates it in the target system on demand, ties it to a lease, and destroys it when that lease expires — so no two consumers share one and revoking a single client is possible. A static secret, by contrast, is one stored value that many readers fetch and that changes only when someone changes it.
What is the secret-zero problem? +
Before a workload can fetch any secret it needs a first credential to authenticate with, and delivering that one securely is the hard part. The name for it is secure introduction. The practical answer is to use an identity the platform already vouches for — a Kubernetes service account or a cloud IAM role — so no initial credential has to be delivered at all.
Sealed Secrets, SOPS or External Secrets Operator — which should I use? +
They solve the same problem three ways. Sealed Secrets encrypts a value so only the controller in one cluster can decrypt it, which makes the resource safe to commit. SOPS encrypts values inside a file while leaving the keys readable, so a pull request still diffs. External Secrets Operator stores nothing in git and syncs from an external provider instead. The deck covers the mechanics of each so the trade-off is yours to make.
Does this cover the HashiCorp Vault Associate exam? +
The three Vault modules are structured around the published Vault Associate (003) objectives, covering auth methods, policies, tokens, leases, secrets engines, encryption as a service, seal and unseal, deployment architecture and access management. Gnoseed is a study companion, not a course or a practice exam, and it is not affiliated with HashiCorp — always check the current objectives on the official exam page.
Is it free? +
Yes, completely free. No registration or credit card is required, and all your progress is stored locally in your browser.
Ready to stop copying credentials around?
Plant your first seed today. Ten minutes a day turns Vault, ESO and cert-manager from tools you have heard of into ones you can reason about.
