Interface BuildTimeOperatorConfiguration
@ConfigMapping(prefix="quarkus.operator-sdk")
@ConfigRoot(phase=BUILD_AND_RUN_TIME_FIXED)
public interface BuildTimeOperatorConfiguration
-
Method Summary
Modifier and TypeMethodDescriptionThe list of profile names for which leader election should be activated.Whether the injected Kubernetes client should be stopped when the operator is stopped.Maps a controller name to its configuration.crd()The optional CRD-related configuration optionsbooleanWhether defensive cloning of resources retrieved from caches should be activated or not.Whether Role-Based Access Control (RBAC) resources generated by the Kubernetes extension should be augmented by this extension.booleanThe optional Server-Side Apply (SSA) related configuration.Whether to fail or emit a debug-level (when misalignment is at the minor or above version level) log when the extension detects that there are misaligned versions.An optional list of comma-separated watched namespace names that will be used to generate manifests at build time if controllers do NOT specify a value individually.Whether controllers should only process events if the associated resource generation has increased since last reconciliation, otherwise will process all events.default booleanisControllerOwningPrimary(String controllerName) Whether the operator should be automatically started or not.Whether the operator should stop if an informer error (such as one caused by missing / improper RBACs) occurs during startup.
-
Method Details
-
controllers
Map<String,BuildTimeControllerConfiguration> controllers()Maps a controller name to its configuration. -
crd
CRDConfiguration crd()The optional CRD-related configuration options -
generationAware
Whether controllers should only process events if the associated resource generation has increased since last reconciliation, otherwise will process all events. Sets the default value for all controllers. -
disableRbacGeneration
Whether Role-Based Access Control (RBAC) resources generated by the Kubernetes extension should be augmented by this extension. -
startOperator
Whether the operator should be automatically started or not. Mostly useful for testing scenarios. -
closeClientOnStop
Whether the injected Kubernetes client should be stopped when the operator is stopped. -
stopOnInformerErrorDuringStartup
Whether the operator should stop if an informer error (such as one caused by missing / improper RBACs) occurs during startup. -
failOnVersionCheck
Whether to fail or emit a debug-level (when misalignment is at the minor or above version level) log when the extension detects that there are misaligned versions. The following versions are checked for alignment:- declared Quarkus version used to build the extension vs. actually used Quarkus version at runtime
- Fabric8 client version used by JOSDK vs. actually used Fabric8 client version
- Fabric8 client version used by Quarkus vs. actually used Fabric8 client version
Checking the alignment of these versions used to be more important than it is now as it happened that attempting to use this extension with differing versions of the client between JOSDK and Quarkus caused issues. Usually, this manifested with otherwise unexplained issues when using native compilation (e.g. improper serialization of objects) so version alignment check was implemented to help diagnose such issues.
Prior to version 7.3.0, this version alignment check was outputting warning-level information whenever versions were mismatched at least at the minor level, sometimes causing confusion. Since issues caused by such misalignments have been rare now that the project is more mature, it was decided to move these logs to debug-level instead. -
activateLeaderElectionForProfiles
The list of profile names for which leader election should be activated. This is mostly useful for testing scenarios where leader election behavior might lead to issues. -
enableSSA
@WithName("enable-ssa") @WithDefault("true") boolean enableSSA()The optional Server-Side Apply (SSA) related configuration. -
defensiveCloning
@WithDefault("false") boolean defensiveCloning()Whether defensive cloning of resources retrieved from caches should be activated or not. With the prevalence of Server-Side Apply (SSA) use, defensively cloning resources, to prevent cached versions from being inadvertently modified, shouldn't be needed anymore. This should also allow for better performance. If you encounter cache corruption issues, you can always turn defensive cloning back on, however, you might first want to check that you're not unduly modifying resources retrieved from caches.- Since:
- 7.0.0
- See Also:
-
ConfigurationService.cloneSecondaryResourcesWhenGettingFromCache()
-
generateWithWatchedNamespaces
An optional list of comma-separated watched namespace names that will be used to generate manifests at build time if controllers do NOT specify a value individually. SeeBuildTimeControllerConfiguration.generateWithWatchedNamespaces()for more information. -
isControllerOwningPrimary
-