Controller Options

Controller command flags and defaults.

To customise the controller options at install time, please see the bootstrap customization guide.


--concurrentintThe number of concurrent kustomize reconciles. (default 4)
--default-service-accountstringDefault service account used for impersonation.
--enable-leader-electionbooleanEnable leader election for controller manager. Enabling this will ensure there is only one active controller manager.
--events-addrstringThe address of the events receiver.
--health-addrstringThe address the health endpoint binds to. (default “:9440”)
--http-retryintThe maximum number of retries when failing to fetch artifacts over HTTP. (default 9)
--insecure-kubeconfig-execbooleanAllow use of the user.exec section in kubeconfigs provided for remote apply.
--insecure-kubeconfig-tlsbooleanAllow that kubeconfigs provided for remote apply can disable TLS verification.
--kube-api-burstintThe maximum burst queries-per-second of requests sent to the Kubernetes API. (default 100)
--kube-api-qpsfloat32The maximum queries-per-second of requests sent to the Kubernetes API. (default 50)
--leader-election-lease-durationdurationInterval at which non-leader candidates will wait to force acquire leadership (duration string). (default 35s)
--leader-election-release-on-cancelbooleanDefines if the leader should step down voluntarily on controller manager shutdown. (default true)
--leader-election-renew-deadlinedurationDuration that the leading controller manager will retry refreshing leadership before giving up (duration string). (default 30s)
--leader-election-retry-perioddurationDuration the LeaderElector clients should wait between tries of actions (duration string). (default 5s)
--log-encodingstringLog encoding format. Can be ‘json’ or ‘console’. (default “json”)
--log-levelstringLog verbosity level. Can be one of ’trace’, ‘debug’, ‘info’, ’error’. (default “info”)
--max-retry-delaydurationThe maximum amount of time for which an object being reconciled will have to wait before a retry. (default 15m0s)
--metrics-addrstringThe address the metric endpoint binds to. (default “:8080”)
--min-retry-delaydurationThe minimum amount of time for which an object being reconciled will have to wait before a retry. (default 750ms)
--no-cross-namespace-refsbooleanWhen set to true, references between custom resources are allowed only if the reference and the referee are in the same namespace.
--no-remote-basesbooleanDisallow remote bases usage in Kustomize overlays. When this flag is enabled, all resources must refer to local files included in the source artifact.
--requeue-dependencydurationThe interval at which failing dependencies are reevaluated. (default 30s)
--watch-all-namespacesbooleanWatch for custom resources in all namespaces, if set to false it will only watch the runtime namespace. (default true)
--watch-label-selectorstringWatch for resources with matching labels e.g. ‘’.
--feature-gatesmapStringBoolA comma separated list of key=value pairs defining the state of experimental features.
--interval-jitter-percentageuint8Percentage of jitter to apply to interval durations. A value of 10 will apply a jitter of +/-10% to the interval duration. It cannot be negative, and must be less than 100. (default 5)
--override-managerstringArrayField manager disallowed to perform changes on managed resources.

Feature Gates

NameDefault ValueDescription
CacheSecretsAndConfigMapsfalseConfigures the caching of Secrets and ConfigMaps by the controller-runtime client. When enabled, it will cache both object types, resulting in increased memory usage and cluster-wide RBAC permissions (list and watch).
DisableStatusPollerCachetrueDisables the cache of the status poller, which is used to determine the health of the resources applied by the controller. This may have a positive impact on memory usage on large clusters with many objects, at the cost of an increased number of direct API calls.