Documentation
¶
Overview ¶
Package providerset bundles every framework Provider into a single value passed to Plugin Factories. Plugins take what they need; the bundle stays small and out-of-tree extensions don't have to know about the host's construction order.
The package lives in its own sub-tree (NOT inside pkg/framework) so that the core framework package — which Providers themselves import for framework.Handle — does not in turn depend on every Provider type. This breaks the import cycle that would otherwise appear if `framework.Handle` exposed Provider accessors directly.
Add a new Provider here in three places:
- Add a field to Set.
- Return its Noop from Empty.
- Plumb the host's instance into Set wherever buildPlugins is called.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Set ¶
type Set struct {
// Quota exposes quota information (read-only). Always non-nil — Noop is
// returned when no quota backend is configured.
Quota quota.Provider
// InstanceType exposes the InstanceType catalog (read-only). Always
// non-nil — Noop is returned when no catalog backend is configured.
InstanceType instancetype.Provider
}
Set is the read-only bundle of Providers a Plugin can consume at construction time. The host populates this once during bootstrap and passes the same value to every Plugin Factory.
Plugins must NOT retain a pointer to fields they don't need — Providers are interfaces, not goroutine-safe in any specific way beyond the implementation guarantees.