Documentation
¶
Overview ¶
Package registry provides the global plugin registry for TerraCi. Plugins register themselves via init() and are discovered by capability using the ByCapability generic function.
Index ¶
- func All() []plugin.Plugin
- func ByCapability[T plugin.Plugin]() []T
- func CollectContributions(ctx *plugin.AppContext) []*pipeline.Contribution
- func Get(name string) (plugin.Plugin, bool)
- func PreflightsForStartup() []plugin.Preflightable
- func Register(p plugin.Plugin)
- func Reset()
- func ResetPlugins()
- func ResolveBlobStoreProvider(name string) (plugin.BlobStoreProvider, error)
- func ResolveCIProvider() (*plugin.ResolvedCIProvider, error)
- func ResolveChangeDetector() (plugin.ChangeDetectionProvider, error)
- func ResolveKVCacheProvider(name string) (plugin.KVCacheProvider, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ByCapability ¶
ByCapability returns all plugins that implement the given capability interface.
func CollectContributions ¶
func CollectContributions(ctx *plugin.AppContext) []*pipeline.Contribution
CollectContributions gathers pipeline contributions from all enabled PipelineContributor plugins.
func PreflightsForStartup ¶
func PreflightsForStartup() []plugin.Preflightable
PreflightsForStartup returns enabled plugins that participate in framework preflight for the current config state.
func Register ¶
Register adds a plugin to the global registry. Called from init() in plugin packages. Panics on duplicate names (fail-fast at startup).
func ResetPlugins ¶
func ResetPlugins()
ResetPlugins resets mutable state on all registered plugins that implement Resettable. The registry itself is NOT cleared — plugins stay registered, only their internal state (config, flags, cached clients) is zeroed. Intended for test isolation.
func ResolveBlobStoreProvider ¶ added in v0.9.4
func ResolveBlobStoreProvider(name string) (plugin.BlobStoreProvider, error)
ResolveBlobStoreProvider returns a named blob store backend provider.
func ResolveCIProvider ¶ added in v0.9.4
func ResolveCIProvider() (*plugin.ResolvedCIProvider, error)
ResolveCIProvider detects the active CI provider. Priority: env detection → TERRACI_PROVIDER env → single registered → configured.
func ResolveChangeDetector ¶
func ResolveChangeDetector() (plugin.ChangeDetectionProvider, error)
ResolveChangeDetector returns the active ChangeDetectionProvider. Priority: single registered → configured+enabled → error.
func ResolveKVCacheProvider ¶ added in v0.9.4
func ResolveKVCacheProvider(name string) (plugin.KVCacheProvider, error)
ResolveKVCacheProvider returns a named KV cache backend provider.
Types ¶
This section is empty.