Release Notes: v0.8.0¶
Release Date: 2026-05-03
Highlights¶
- OmniVault AWS Providers: Consolidated omnivault-aws into omni-aws monorepo
- AWS Secrets Manager: Full vault implementation with versioning and rotation
- AWS Parameter Store: Hierarchical parameter management with KMS encryption
Breaking Changes¶
[omnivault] Module Path Changed¶
The OmniVault AWS providers have moved from a standalone repository into omni-aws.
Migration:
// Before
import "github.com/plexusone/omnivault-aws"
import "github.com/plexusone/omnivault-aws/secretsmanager"
import "github.com/plexusone/omnivault-aws/parameterstore"
// After
import "github.com/plexusone/omni-aws/omnivault"
import "github.com/plexusone/omni-aws/omnivault/secretsmanager"
import "github.com/plexusone/omni-aws/omnivault/parameterstore"
Added¶
[omnivault] AWS Secrets Manager Provider¶
Full implementation of vault.Vault and vault.ExtendedVault interfaces:
import aws "github.com/plexusone/omni-aws/omnivault"
provider, err := aws.NewSecretsManager(aws.Config{
Region: "us-east-1",
})
// Get a secret with JSON field parsing
secret, err := provider.Get(ctx, "prod/database/credentials")
fmt.Println(secret.Value) // password
fmt.Println(secret.Fields["username"]) // admin
// Version management
versions, _ := provider.ListVersions(ctx, "my-secret")
oldSecret, _ := provider.GetVersion(ctx, "my-secret", versions[0].ID)
// Rotation
newSecret, _ := provider.Rotate(ctx, "my-secret")
Features:
- JSON parsing for multi-field secrets
- Version staging labels (AWSCURRENT, AWSPENDING)
- Secret rotation triggers
- Binary secret support
- Tag management
[omnivault] AWS Parameter Store Provider¶
Full implementation of vault.Vault interface with hierarchical paths:
import aws "github.com/plexusone/omni-aws/omnivault"
provider, err := aws.NewParameterStore(aws.Config{
Region: "us-east-1",
})
// Get a parameter
secret, err := provider.Get(ctx, "/myapp/prod/database/password")
// With path prefix namespacing
provider, _ := parameterstore.New(parameterstore.Config{
Region: "us-east-1",
PathPrefix: "/myapp/prod",
})
secret, _ := provider.Get(ctx, "/database/password") // Resolves to /myapp/prod/database/password
Features:
- Hierarchical path support (
/app/env/key) - Path prefix namespacing
- SecureString encryption with KMS
- String, StringList, and SecureString types
- Version history retrieval
Installation¶
EKS with IRSA¶
On EKS with IAM Roles for Service Accounts, authentication is automatic:
// No credentials configuration needed
provider, err := aws.NewSecretsManager(aws.Config{
Region: os.Getenv("AWS_REGION"),
})
Provider Comparison¶
| Feature | Secrets Manager | Parameter Store |
|---|---|---|
| Best For | Credentials, API keys | Configuration, feature flags |
| Rotation | Built-in support | Manual only |
| Pricing | $0.40/secret/month | Free tier: 10K params |
| Size Limit | 64 KB | 4 KB (standard) |
| Hierarchy | Flat names | Path-based |
Dependencies Added¶
github.com/aws/aws-sdk-go-v2/service/secretsmanagerv1.41.7github.com/aws/aws-sdk-go-v2/service/ssmv1.68.6github.com/plexusone/omnivaultv0.3.0
Internal¶
Previous omnivault-aws releases incorporated:
- v0.1.0 (2025-12-27): Initial release with Secrets Manager and Parameter Store
- v0.2.0 (2026-03-14): Organization rename from agentplexus to plexusone