Skip to content

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

go get github.com/plexusone/omni-aws@v0.8.0

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/secretsmanager v1.41.7
  • github.com/aws/aws-sdk-go-v2/service/ssm v1.68.6
  • github.com/plexusone/omnivault v0.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