Never display secrets
Verify metadata, modes, TTLs, versions, fingerprints, status, and expected denial.
Project Lockbox · 16 of 16 chapters complete
Learn the application side of identity, policy, short-lived credentials, delivery, reload, failure, and recovery. The shared lab is disposable and creates no AWS or Kubernetes infrastructure.
Design and verify how an application, CI job, EC2 workload, or EKS pod authenticates to Vault and consumes KV data, dynamic PostgreSQL credentials, and short-lived certificates.
Verify metadata, modes, TTLs, versions, fingerprints, status, and expected denial.
Generated tokens, leases, credentials, certificates, and renders stay under learn-vault/.runtime.
One cleanup command removes containers, volumes, and runtime material. No cloud resource is applied.
cd learn-vault/labs/bootstrap
./preflight.sh
./setup.sh
source ../../.runtime/learner.envBuild the consumer mental model: authenticate, receive narrow capability, obtain secret material, renew or replace it, then revoke it.
Chapter 2 Human user · PriyaOperate a disposable Vault lab without committing bootstrap tokens, generated credentials, certificates, or runtime configuration.
Chapter 3 Human user · PriyaTranslate one operation across CLI and HTTP API, and distinguish a mount path from the engine-specific API path.
Chapter 4 Human user · PriyaReason about the independent lifetimes of the Vault token and the material obtained with it.
Chapter 5 Human user · PriyaTurn permission denied into a precise capability diagnosis without broadening access blindly.
Chapter 6 Human user · PriyaUse versioned static secrets while keeping values out of source, logs, history, arguments, and durable application storage.
Chapter 7 Application/workload user · orders-apiPrefer identity-native authentication and use AppRole only for constrained machines without a stronger runtime identity.
Chapter 8 Application/workload user · orders-apiReplace a shared database password with leased PostgreSQL users, least privilege, pool rotation, and revocation.
Chapter 9 Application/workload user · orders-apiIssue a short-lived service certificate, validate its identity and chain, install it atomically, and replace it before expiry.
Chapter 10 Application/workload user · orders-apiUse Vault Agent auto-auth and templates to separate token lifecycle from application code while preserving a clear reload contract.
Chapter 11 CI user · GitLab pipelineExchange a job-scoped GitLab OIDC ID token for narrow Vault access without storing a reusable CI credential.
Chapter 12 Application/workload user · orders-apiAuthenticate an AWS workload by proving IAM identity through a signed request instead of distributing a Vault login secret.
Chapter 13 Application/workload user · orders-apiAuthenticate a pod with a projected service-account token bound to namespace, service account, audience, and lifetime.
Chapter 14 Application/workload user · orders-apiChoose Kubernetes delivery by lifecycle ownership, update semantics, coupling, and failure behavior.
Chapter 15 Application/workload user · orders-apiDesign a bounded state machine for fresh, renewing, stale-but-valid, terminal, and recovered secret states.
Chapter 16 Application/workload user · orders-apiAssemble the design and prove it through rotation, revocation, outage, denial, cleanup, and recovery evidence.
orders-api ends with identity-native login, least-privilege paths, timed credentials, protected delivery, atomic reload, safe telemetry, and tested outage behavior.