Documentation
¶
Overview ¶
Package metalman implements the per-Site metalman PXE controller component.
Index ¶
- Constants
- func DeploymentName(site string) string
- func IsSupportObject(obj *unstructured.Unstructured) bool
- func New() component.SiteComponent
- type Component
- func (c Component) CleanupPlan(_ context.Context, env *component.Env, site *unboundedv1alpha3.Site) (*component.Plan, component.Result, error)
- func (Component) ConditionType() string
- func (Component) Enabled(site *unboundedv1alpha3.Site) bool
- func (Component) Name() string
- func (c Component) Plan(_ context.Context, env *component.Env, site *unboundedv1alpha3.Site) (*component.Plan, component.Result, error)
- func (Component) SetupWatches(b *builder.Builder, env *component.Env)
Constants ¶
const SupportObjectNameSubstring = "metalman"
SupportObjectNameSubstring identifies the metalman RBAC objects that ship in the machina manifest set. It is exported so the machina component can skip exactly the objects the metalman component owns and applies.
Variables ¶
This section is empty.
Functions ¶
func DeploymentName ¶
DeploymentName is the per-site metalman Deployment name.
func IsSupportObject ¶
func IsSupportObject(obj *unstructured.Unstructured) bool
IsSupportObject reports whether obj is the metalman RBAC that ships in the machina manifests. The machina component skips these; the metalman component applies them.
Types ¶
type Component ¶
type Component struct{}
Component reconciles the per-Site metalman PXE controller.
func (Component) CleanupPlan ¶ added in v0.3.0
func (c Component) CleanupPlan(_ context.Context, env *component.Env, site *unboundedv1alpha3.Site) (*component.Plan, component.Result, error)
CleanupPlan removes the per-site metalman Deployment. The shared metalman RBAC is left in place; it is harmless when unreferenced and may still be used by other sites.
func (Component) ConditionType ¶
ConditionType implements component.SiteComponent.
func (Component) Enabled ¶
func (Component) Enabled(site *unboundedv1alpha3.Site) bool
Enabled reports whether the Site enables metalman.
func (Component) Plan ¶ added in v0.3.0
func (c Component) Plan(_ context.Context, env *component.Env, site *unboundedv1alpha3.Site) (*component.Plan, component.Result, error)
Plan deploys the per-site metalman PXE controller and its RBAC.
The support RBAC ships in the machina manifest set and is identical for every Site, so it carries a shared key and the executor writes it once per pass rather than once per Site.
func (Component) SetupWatches ¶
SetupWatches recreates the per-site Deployment if it is deleted or drifts, via its controller owner reference to the Site. The predicate drops status-only updates so pod-count churn does not re-apply the Deployment.