Help us shape the future of Go! Take the 2026 Go Developer Survey

secrets

package
v0.17.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 16, 2026 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrUnknownSecretProvider = errors.New("unknown secret provider")

ErrUnknownSecretProvider is returned when a secret reference uses an unregistered provider.

Functions

This section is empty.

Types

type EnvResolver

type EnvResolver struct{}

func NewEnvResolver

func NewEnvResolver() *EnvResolver

func (*EnvResolver) Resolve

func (r *EnvResolver) Resolve(ctx context.Context, ref SecretRef) (string, error)

type FileResolver

type FileResolver struct{}

func NewFileResolver

func NewFileResolver() *FileResolver

func (*FileResolver) Resolve

func (r *FileResolver) Resolve(ctx context.Context, ref SecretRef) (string, error)

type Multi

type Multi struct {
	// contains filtered or unexported fields
}

Multi chains multiple resolvers by provider name.

func NewMulti

func NewMulti(resolvers map[string]Resolver) *Multi

func (*Multi) Resolve

func (m *Multi) Resolve(ctx context.Context, ref SecretRef) (string, error)

type OpenBaoResolver added in v0.11.0

type OpenBaoResolver = VaultResolver

OpenBaoResolver is an alias to VaultResolver as OpenBao is wire-compatible.

type Resolver

type Resolver interface {
	Resolve(ctx context.Context, ref SecretRef) (string, error)
}

Resolver resolves secret references to their plaintext values.

type SecretRef

type SecretRef struct {
	// Provider is the secret backend: "env", "file", "vault", "openbao", "bao"
	Provider string
	// Path is provider-specific: env var name, file path, or Vault/OpenBao path
	Path string
	// Key is the key within the secret (for Vault/OpenBao KV v2)
	Key string
}

SecretRef identifies a secret value.

type VaultResolver

type VaultResolver struct {
	// contains filtered or unexported fields
}

func NewOpenBaoResolver added in v0.11.0

func NewOpenBaoResolver() *VaultResolver

NewOpenBaoResolver creates a resolver targeting an OpenBao (or Vault) instance.

func NewVaultResolver

func NewVaultResolver() *VaultResolver

func (*VaultResolver) Resolve

func (r *VaultResolver) Resolve(ctx context.Context, ref SecretRef) (string, error)

func (*VaultResolver) SetRole

func (r *VaultResolver) SetRole(role, mountPath string)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL