engine

package
v0.5.1 Latest Latest
Warning

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

Go to latest
Published: Jul 18, 2026 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Package engine defines secret and PKI engine interfaces (LLD §4).

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Registry

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

Registry maps engine names to SecretEngine implementations (LLD §4.B.4).

func NewRegistry

func NewRegistry() *Registry

NewRegistry constructs an empty engine registry.

func (*Registry) Get

func (r *Registry) Get(name string) (SecretEngine, bool)

Get returns an engine by name.

func (*Registry) GetSecret

func (r *Registry) GetSecret(ctx context.Context, name, path string) (map[string]any, error)

GetSecret delegates to a named engine.

func (*Registry) List

func (r *Registry) List() []string

List returns registered engine names.

func (*Registry) Put

func (r *Registry) Put(ctx context.Context, name, path string, data map[string]any) error

Put delegates to a named engine.

func (*Registry) Register

func (r *Registry) Register(engine SecretEngine)

Register adds an engine. Panics on duplicate names during startup wiring.

type SecretEngine

type SecretEngine interface {
	Name() string
	Put(ctx context.Context, path string, data map[string]any) error
	Get(ctx context.Context, path string) (map[string]any, error)
}

SecretEngine is implemented by KV and dynamic secret backends.

Directories

Path Synopsis
Package pki implements the PKI engine (LLD §4.A).
Package pki implements the PKI engine (LLD §4.A).
Package secrets implements the KVv2 secrets engine (LLD §4.B).
Package secrets implements the KVv2 secrets engine (LLD §4.B).
cubbyhole
Package cubbyhole implements per-token private KV storage (M-WRAP-1 / W74).
Package cubbyhole implements per-token private KV storage (M-WRAP-1 / W74).
database
Package database implements the dynamic database credentials engine (LLD §4.B, Phase 2).
Package database implements the dynamic database credentials engine (LLD §4.B, Phase 2).
ssh
Package ssh implements dynamic OpenSSH user certificate credentials (signed-key mode).
Package ssh implements dynamic OpenSSH user certificate credentials (signed-key mode).
Package transit implements Encryption-as-a-Service (M-TRANSIT-1).
Package transit implements Encryption-as-a-Service (M-TRANSIT-1).

Jump to

Keyboard shortcuts

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