Skip to content

OmniVault

OmniVault is a unified Go library for secret management across multiple providers. It provides a single interface for accessing secrets from password managers, cloud secret managers, enterprise vaults, and local storage.

Features

  • Unified Interface - Single API for all secret storage backends
  • Extensible Architecture - Add custom providers as separate Go modules without modifying the core library
  • URI-Based Resolution - Reference secrets using URIs like op://vault/item/field or aws-sm://secret-name
  • Built-in Providers - Environment variables, file-based, and in-memory storage included
  • Zero External Dependencies - Core library has no external dependencies beyond the standard library
  • CLI Tool - Command-line interface with encrypted local storage and daemon architecture
  • Secure Local Storage - AES-256-GCM encryption with Argon2id key derivation

Two Ways to Use OmniVault

As a Go Library

Import OmniVault into your Go application to access secrets from multiple providers:

import "github.com/plexusone/omnivault"

client, _ := omnivault.NewClient(omnivault.Config{
    Provider: omnivault.ProviderEnv,
})

secret, _ := client.Get(ctx, "API_KEY")
fmt.Println(secret.Value)

Get started with the library →

As a CLI Tool

Use the omnivault command-line tool for secure local secret management:

omnivault daemon start
omnivault init
omnivault set database/password
omnivault get database/password

Get started with the CLI →

CLI Highlights (v0.5.0)

The CLI includes powerful features for managing secrets:

Get secrets in multiple formats:

omnivault get api/key --format json
omnivault get api/key --format yaml
omnivault get api/key --format shell

Extract specific fields:

omnivault get database/creds --field password

Find secrets by pattern:

omnivault search "database/*"
omnivault search ".*prod.*" --regex

Backup and restore secrets:

omnivault export --output backup.json
omnivault import backup.json --merge
Section Description
Installation Install the library or CLI
Library Quick Start Get started with the Go library
CLI Quick Start Get started with the CLI
CLI Commands Complete command reference
Configuration Configure CLI behavior
Providers Available secret providers
Security CLI security model
Changelog Release history

License

MIT License - see LICENSE for details.