Automatic Secret Rotation
for Docker
Zero downtime. Automatic recovery. No Kubernetes required.
DSO detects secret changes automatically, spawns a healthy new container, swaps traffic atomically, and rolls back on failureβall in 5 seconds. No 3am pages. No operator fatigue.
Trusted by teams managing 100k+ secrets in production
The Problem: Manual Secret Rotation
See what happens without automation, versus with DSO
Without DSO (Status Quo)
Secret expires in provider
App tries to use expired secret
π΄ DOWN
Authentication fails
π΄ DOWN
Container crashes
π΄ DOWN
Alert fires (incident starts)
β οΈ INCIDENT
On-call wakes up, pages alert
Manual rollback / restart deployed
With DSO
Secret expires in provider
DSO detects change automatically
β UP
New container spawned (green)
β UP
Health checks pass
β UP
Traffic swaps atomically
β UP
Old container stops
β UP
β Done. Zero downtime.
π’ ZERO DOWNTIME
5 seconds vs 20 minutes
That's the difference between "rotation" and "incident"
How it works
Three simple steps. Zero code changes. Zero downtime.
Detects Change
Watches for secret updates from Vault, AWS, Azure, etc.
Rotates Safely
Creates new container, validates health, swaps traffic atomically.
Recovers Automatically
If anything fails, rolls back automatically. Your app stays up.
Atomic. Health-Checked. Recoverable.
Every rotation is all-or-nothing. New container must be healthy. If it fails, we roll back automatically.
Zero-Downtime Rotation
5 steps completed in seconds. No connections dropped.
Zero-Downtime Rotation
5 steps in ~5 seconds
Built for Production
Defense-in-depth security with operational guarantees that keep your app running.
Defense in Depth
Three layers of isolation prevent secrets from reaching untrusted boundaries.
Cloud Boundary
- AWS Secrets Manager / Azure Key Vault / HashiCorp Vault
- Encrypted at rest by provider
- TLS 1.3 encryption in transit
- Machine identity authentication
Host Boundary
- dso-agent daemon (systemd service)
- Secrets in locked memory (mlock)
- Unix socket isolation (/run/dso/dso.sock)
- No disk persistence
Container Sandbox
- tmpfs mount (/run/secrets/)
- Secrets in RAM only
- Isolated namespace
- Auto-cleanup on container stop
Cloud Boundary
- AWS Secrets Manager / Azure Key Vault / HashiCorp Vault
- Encrypted at rest by provider
- TLS 1.3 encryption in transit
- Machine identity authentication
Host Boundary
- dso-agent daemon (systemd service)
- Secrets in locked memory (mlock)
- Unix socket isolation (/run/dso/dso.sock)
- No disk persistence
Container Sandbox
- tmpfs mount (/run/secrets/)
- Secrets in RAM only
- Isolated namespace
- Auto-cleanup on container stop
Zero-Persistence Guarantee
Plaintext secrets never touch your host filesystem. If the machine loses power or crashes, all secrets vanish instantly with no forensic trace.
Operational Guarantees
Every rotation is atomic, health-checked, and crash-recoverable by default.
Atomic Swap
Container swap is all-or-nothing. No partial states, no traffic split, no inconsistency.
Health-Checked
New container must pass health checks before traffic switches. Bad containers are never promoted.
Auto-Rollback
If anything fails during rotation, automatic rollback restores the last known-good container instantly.
Crash-Safe
Agent crashes don't lose state. Rotations resume from write-ahead checkpoint on restart.
Automatic Recovery
Agent crashes? Secrets in flight? DSO detects and recovers automatically. Old rotations are rolled back, containers are cleaned up, and state is validated on restart. Most incidents need zero operator intervention.
Dual-Mode Execution
Start local. Scale to cloud. Use the same CLI workflow in every environment.
Development
No cloud dependency. No root required. Perfect for isolated dev environments.
Production
Enterprise-grade rotation. Managed identity support. Multi-cloud plugins.
Agent Architecture
Seven coordinated components orchestrate secret rotation and recovery.
Key Interactions
Get started in 2 minutes
Copy, paste, done. Three commands.
curl -fsSL https://raw.githubusercontent.com/docker-secret-operator/dso/main/scripts/install.sh | sudo bashInstall the DSO Docker plugin
docker dso init && docker dso secret set DB_PASSWORD your-secretInitialize your local vault and set your first secret
docker compose up -dStart your Docker stack. DSO handles secret rotation.
β Running β’ Secrets rotating automatically β’ Zero downtime
Automatic Rotation
Detects secret changes and rotates containers without manual intervention.
Health-Checked Updates
New containers pass health checks before traffic switches. Failed rotations roll back.
Recovery Built In
Crashes don't cause incidents. DSO resumes from checkpoint on restart.
Docker Native
Works with Docker Engine directly. No Kubernetes required.
Ready to automate secret rotation?
Install DSO and deploy your first automated rotation in minutes.