A Docker Swarm secrets plugin that integrates with multiple secret management providers including HashiCorp Vault, AWS Secrets Manager, Azure Key Vault, and OpenBao.

Please refer to the docs for more information.
The plugin now supports multiple secret providers. Configure with SECRETS_PROVIDER environment variable:
# HashiCorp Vault (default)
docker plugin set sugarorg/swarm-external-secrets:latest SECRETS_PROVIDER="vault"
# AWS Secrets Manager
docker plugin set sugarorg/swarm-external-secrets:latest SECRETS_PROVIDER="aws"
# Azure Key Vault
docker plugin set sugarorg/swarm-external-secrets:latest SECRETS_PROVIDER="azure"
# OpenBao
docker plugin set sugarorg/swarm-external-secrets:latest SECRETS_PROVIDER="openbao"
For multi-instance usage (for example, Vault + OpenBao with separate plugin names in Swarm), see docs/multi-provider.md.
Access the monitoring dashboard at http://localhost:8080 (configurable port):
docker plugin set sugarorg/swarm-external-secrets:latest \
ENABLE_MONITORING="true" \
MONITORING_PORT="8080"
Build and enable the plugin:
./scripts/build.sh
Configure the plugin:
docker plugin set sugarorg/swarm-external-secrets:latest \
VAULT_ADDR="https://your-vault-server:8200" \
VAULT_AUTH_METHOD="token" \
VAULT_TOKEN="your-vault-token" \
ENABLE_ROTATION="true"
Use in docker-compose.yml:
HashiCorp Vault:
secrets:
mysql_password:
driver: swarm-external-secrets:latest
labels:
vault_path: "database/mysql"
vault_field: "password"
AWS Secrets Manager:
secrets:
api_key:
driver: swarm-external-secrets:latest
labels:
aws_secret_name: "prod/api/key"
aws_field: "api_key"
Azure Key Vault:
secrets:
database_connection:
driver: swarm-external-secrets:latest
labels:
azure_secret_name: "database-connection-string"
OpenBao:
secrets:
app_secret:
driver: swarm-external-secrets:latest
labels:
openbao_path: "app/config"
openbao_field: "secret_key"
| Provider | Status | Authentication | Rotation |
|---|---|---|---|
| HashiCorp Vault | ✅ Stable | Token, AppRole | ✅ |
| AWS Secrets Manager | ✅ Stable | IAM, Access Keys | ✅ |
| Azure Key Vault | ✅ Stable | Service Principal, Access Token | ✅ |
| OpenBao | ✅ Stable | Token, AppRole | ✅ |
| GCP Secret Manager | 🚧 Placeholder | - | - |
docker plugin set swarm-external-secrets:latest \
SECRETS_PROVIDER="vault" \
VAULT_ADDR="https://vault.example.com:8200" \
VAULT_TOKEN="hvs.example-token"
docker plugin set swarm-external-secrets:latest \
SECRETS_PROVIDER="aws" \
AWS_REGION="us-west-2" \
AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE"
docker plugin set swarm-external-secrets:latest \
SECRETS_PROVIDER="azure" \
AZURE_VAULT_URL="https://myvault.vault.azure.net/" \
AZURE_TENANT_ID="12345678-1234-1234-1234-123456789012"
Content type
Plugin
Digest
sha256:98ba9fd00…
Size
20.8 MB
Last updated
12 days ago
docker plugin install sugarorg/swarm-external-secrets