Secrets
Secret storage and versioning
Secrets
Emulates secret management: SecretsManager (AWS), KeyVault (Azure), SecretManager (GCP).
Provider Mapping
| Provider | Service | Access |
|---|---|---|
| AWS | Secrets Manager | aws.SecretsManager |
| Azure | Key Vault | azure.KeyVault |
| GCP | Secret Manager | gcp.SecretManager |
Key Operations
Creating Secrets
import secdriver "github.com/stackshy/cloudemu/secrets/driver"
aws.SecretsManager.CreateSecret(ctx, secdriver.SecretConfig{
Name: "db-password",
Value: "super-secret-123",
Tags: map[string]string{"env": "production"},
})Reading Secrets
secret, _ := aws.SecretsManager.GetSecret(ctx, "db-password")
fmt.Println(secret.Value) // "super-secret-123"Versioning
// Update creates a new version
aws.SecretsManager.UpdateSecret(ctx, "db-password", "new-password-456")
// Get specific version
secret, _ = aws.SecretsManager.GetSecretVersion(ctx, "db-password", "v2")Listing
secrets, _ := aws.SecretsManager.ListSecrets(ctx)