Documentation
¶
Overview ¶
Package storage implements the per-Site unbounded-storage supervisor component. The supervisor runs as a site-scoped DaemonSet on the nodes belonging to the Site, mounting a per-Site config ConfigMap.
Index ¶
- Constants
- func New() component.SiteComponent
- func SiteConfigName(site string) string
- func SiteDaemonSetName(site string) string
- type Component
- func (Component) Cleanup(ctx context.Context, env *component.Env, site *unboundedv1alpha3.Site) error
- func (Component) ConditionType() string
- func (Component) Enabled(site *unboundedv1alpha3.Site) bool
- func (Component) Name() string
- func (Component) Reconcile(ctx context.Context, env *component.Env, site *unboundedv1alpha3.Site) component.Result
- func (Component) SetupWatches(b *builder.Builder, env *component.Env)
Constants ¶
const (
ConfigHashAnnotation = "unbounded-cloud.io/storage-config-hash"
)
Variables ¶
This section is empty.
Functions ¶
func SiteConfigName ¶
SiteConfigName is the per-site storage supervisor ConfigMap name. Storage config is per-Site in the API, so each Site gets its own ConfigMap.
func SiteDaemonSetName ¶
SiteDaemonSetName is the per-site storage supervisor DaemonSet name.
Types ¶
type Component ¶
type Component struct{}
Component reconciles the per-Site storage supervisor.
func (Component) Cleanup ¶
func (Component) Cleanup(ctx context.Context, env *component.Env, site *unboundedv1alpha3.Site) error
Cleanup removes the per-site storage DaemonSet and ConfigMap.
func (Component) ConditionType ¶
ConditionType implements component.SiteComponent.
func (Component) Enabled ¶
func (Component) Enabled(site *unboundedv1alpha3.Site) bool
Enabled reports whether the Site enables storage.
func (Component) Reconcile ¶
func (Component) Reconcile(ctx context.Context, env *component.Env, site *unboundedv1alpha3.Site) component.Result
Reconcile deploys a site-scoped storage supervisor DaemonSet that runs only on the nodes belonging to the Site.
func (Component) SetupWatches ¶
SetupWatches reconciles a Site on changes to its per-site config payload and recreates the per-site DaemonSet if it is deleted or drifts. The DaemonSet predicate drops status-only updates so pod churn does not re-apply it.