Documentation
¶
Overview ¶
Package app provides a sample controller demonstrating data extraction and guards.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var AddToScheme = sharedapp.AddToScheme
AddToScheme registers the ExampleApp types with the given scheme.
Functions ¶
This section is empty.
Types ¶
type Controller ¶
type Controller struct {
client.Client
Scheme *runtime.Scheme
Recorder record.EventRecorder
Metrics component.Recorder
// NewConfigMapResource builds the ConfigMap and wires the data extractor.
// The extractor writes to dbHost so the Secret guard can read it.
NewConfigMapResource func(owner *ExampleApp, dbHost *string) (component.Resource, error)
// NewSecretResource builds the Secret with a guard that reads dbHost.
NewSecretResource func(owner *ExampleApp, dbHost *string) (component.Resource, error)
}
Controller reconciles an ExampleApp by managing a ConfigMap and a Secret within a single component. The ConfigMap exposes data via extraction, and the Secret is guarded until that data is available.
func (*Controller) Reconcile ¶
func (r *Controller) Reconcile(ctx context.Context, owner *ExampleApp) error
Reconcile builds and reconciles a component where the ConfigMap is registered before the Secret. Registration order matters: the guard on the Secret can only read data extracted by a preceding resource.
type ExampleApp ¶
type ExampleApp = sharedapp.ExampleApp
ExampleApp re-exports the shared CRD type so callers in this package need no import alias.
type ExampleAppList ¶
type ExampleAppList = sharedapp.ExampleAppList
ExampleAppList re-exports the shared list type.
type ExampleAppSpec ¶
type ExampleAppSpec = sharedapp.ExampleAppSpec
ExampleAppSpec re-exports the shared spec type.
type ExampleAppStatus ¶
type ExampleAppStatus = sharedapp.ExampleAppStatus
ExampleAppStatus re-exports the shared status type.