Interface BuildTimeControllerConfiguration
-
Method Summary
Modifier and TypeMethodDescriptionAn optional list of comma-separated watched namespace names that will be used to generate manifests at build time.Whether the controller should only process events if the associated resource generation has increased since last reconciliation, otherwise will process all events.booleanIndicates whether the primary resource for the associated controller is unowned, meaning that another controller is the principal controller handling resources of this type.
-
Method Details
-
generationAware
Whether the controller should only process events if the associated resource generation has increased since last reconciliation, otherwise will process all events. -
generateWithWatchedNamespaces
An optional list of comma-separated watched namespace names that will be used to generate manifests at build time.Note that this is provided as a means to quickly deploy a specific controller to test it by applying the generated manifests to the target cluster. If empty, no manifests will be generated. The namespace in which the controller will be deployed will be the currently configured namespace as specified by your
.kube/configfile, unless you specify the target deployment namespace using thequarkus.kubernetes.namespaceproperty.As this functionality cannot handle namespaces that are not know until runtime (because the generation happens during build time), we recommend that you use a different mechanism such as OLM or Helm charts to deploy your operator in production.
This replaces the previous
namespacesproperty which was confusing and against Quarkus best practices since it existed both at build time and runtime. That property wasn't also adequately capturing the fact that namespaces that wouldn't be known until runtime would render whatever got generated at build time invalid as far as generated manifests were concerned. -
unownedPrimary
@WithDefault("false") boolean unownedPrimary()Indicates whether the primary resource for the associated controller is unowned, meaning that another controller is the principal controller handling resources of this type. By default, controllers are assumed to own their primary resource but there are cases where this might not be the case, for example, when extra processing of a given resource type is required even though another controller already handles reconciliations of resources of that type. Set this property totrueif you want to indicate that the controller doesn't own its primary resource
-