Documentation
¶
Overview ¶
Package component provides the shared name→constructor registry backing Wardyn's pluggable seams (identity provider, secret store, recording store, confinement substrate), so each seam selects an implementation uniformly via a WARDYN_<SEAM> name while keeping a type-safe constructor signature. NOT the policy evaluator: egress.Evaluator has no registry or selector.
Implementations self-register at init() time (like database/sql drivers): a blank import makes one selectable. Registration alone doesn't "bless" an impl — it must also pass its seam's RunConformance suite.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Registry ¶
type Registry[C any] struct { // contains filtered or unexported fields }
Registry is a name→constructor registry for one pluggable seam. C is the seam's constructor FUNC type (e.g. func(Deps) (Provider, error)), so each seam stays type-safe while sharing this implementation. Construct with NewRegistry.
func NewRegistry ¶
NewRegistry returns an empty registry whose default selection is def.
func (*Registry[C]) Names ¶
Names returns the registered names sorted (for /healthz and error messages).