Usage of /usr/bin/background-controller:
-add_dir_header
If true, adds the file directory to the header of the log messages
-allowHTTPInNamespacedPolicies value
Set to 'true' to enable CEL http.Get/Post in namespaced policies. Disabled by default due to SSRF risk (CVE-2026-4789); enable only when combined with restrictive network policies.
-allowInsecureRegistry
Whether to allow insecure connections to registries. Don't use this for anything but testing.
-allowedResults string
Comma separated list of result types for which creating reports is desired. (pass,fail,error,warn,skip) (default "pass,fail,error,warn,skip")
-alsologtostderr
log to standard error as well as files (no effect when -logtostderr=true)
-alsologtostderrthreshold value
logs at or above this threshold go to stderr when -alsologtostderr=true (no effect when -logtostderr=true)
-apiCallTimeout duration
Timeout for HTTP API calls made by policies. A value of 0 means no timeout. (default 30s)
-autoMemLimitEnabled
Enable automatic GOMEMLIMIT configuration based on container or system memory. (default true)
-autoMemLimitRatio float
The ratio of reserved GOMEMLIMIT memory to the detected maximum container or system memory. Must be greater than 0 and less than or equal to 1. (default 0.9)
-cleanupServerHost string
Host used by the cleanup server. If not set, it will default to [::] for IPv6 or 0.0.0.0 for IPv4.
-cleanupServerPort int
kyverno cleanup server port, defaults to '9443'. (default 9443)
-clientRateLimitBurst int
Configure the maximum burst for throttle. Uses the client default if zero. (default 200)
-clientRateLimitQPS float
Configure the maximum QPS to the Kubernetes API server from Kyverno. Uses the client default if zero. (default 100)
-controllerRuntimeMetricsAddress string
Bind address for controller-runtime metrics server. It will be defaulted to ":8080" if unspecified. Set this to "0" to disable the metrics server.
-crdWatcher
Enable watching of custom resources to invalidate discovery cache on changes.
-disableLogColor
Disable colored output in logs.
-disableMetrics
Set this flag to 'true' to disable metrics.
-enableConfigMapCaching
Enable config maps caching. (default true)
-enableDeferredLoading value
enable deferred loading of context variables
-enablePolicyException
Enable PolicyException feature.
-enableReporting string
Comma separated list to enable reporting for different rule types. (validate,mutate,mutateExisting,generate,imageVerify) (default "validate,mutate,mutateExisting,generate,imageVerify")
-enableTracing
Set this flag to 'true', to enable tracing.
-eventsRateLimitBurst int
Configure the maximum burst for throttle for events. Uses the client default if zero. (default 2000)
-eventsRateLimitQPS float
Configure the maximum QPS to the Kubernetes API server from Kyverno for events. Uses the client default if zero. (default 1000)
-exceptionNamespace string
Configure the namespace to accept PolicyExceptions. If it is set to '*', exceptions are allowed in all namespaces.
-exemplarFilter string
Configure the exemplar filter for metrics. Supported values: always-off, trace-based, always-on. Default is trace-based (exemplars collected from sampled traces). (default "trace-based")
-genWorkers int
Workers for the background controller. (default 10)
-httpAllowlist value
Comma-separated list of URL prefixes (scheme+host[+path]) permitted in CEL http.Get/Post and apiCall.service calls. When set, only matching URLs are allowed. Example: 'https://api.example.com,https://webhook.corp/v1/'.
-httpBlocklist value
Comma-separated list of CIDR ranges or hostnames blocked from CEL http.Get/Post and apiCall.service calls. Overrides the built-in defaults when set. Example: '169.254.169.254,metadata.google.internal'.
-imagePullSecrets string
Secret resource names for image registry access credentials.
-imageVerifyPayloadLimit int
Maximum decompressed size in bytes of a signature, attestation or bundle payload read during image verification. Raise it to verify payloads larger than the 10000000 byte default, such as large SBOM attestations. 0 keeps the default.
-kubeconfig string
Paths to a kubeconfig. Only required if out-of-cluster.
-leaderElectionRetryPeriod duration
Configure leader election retry period. (default 2s)
-legacy_stderr_threshold_behavior
If true, stderrthreshold is ignored when logtostderr=true (legacy behavior). If false, stderrthreshold is honored even when logtostderr=true (default true)
-log_backtrace_at value
when logging hits line file:N, emit a stack trace
-log_dir string
If non-empty, write log files in this directory (no effect when -logtostderr=true)
-log_file string
If non-empty, use this log file (no effect when -logtostderr=true)
-log_file_max_size uint
Defines the maximum size a log file can grow to (no effect when -logtostderr=true). Unit is megabytes. If the value is 0, the maximum file size is unlimited. (default 1800)
-loggingFormat string
This determines the output format of the logger. (default "text")
-loggingtsFormat string
This determines the timestamp format of the logger. (default "default")
-logtostderr
log to standard error instead of files (default true)
-maxAPICallResponseLength int
Maximum allowed response size from API Calls. A value of 0 bypasses checks (not recommended). (default 2000000)
-maxBackgroundReports int
Maximum number of ephemeralreports created for the background policies. (default 10000)
-maxGlobalContextEntries int
Maximum number of entries in the global context store. When the limit is reached, new entries are rejected and retried. A value of 0 means unbounded.
-maxQueuedEvents int
Maximum events to be queued. (default 1000)
-metricsCASecretName string
The secret name which contains the CA certificate for the metrics endpoint.
-metricsHost string
Expose prometheus metrics at the given host. If not set, it will default to [::] for IPv6 or 0.0.0.0 for IPv4.
-metricsKeyAlgorithm string
Set this flag to the key algorithm used for self-signed TLS certificates for the metrics endpoint. Supported values: RSA, ECDSA, Ed25519. (default "RSA")
-metricsPort int
Expose prometheus metrics at the given port, default to 8000. (default 8000)
-metricsRenewBefore duration
The certificate renewal time before expiration for metrics TLS certificates. (default 360h0m0s)
-metricsServerIP string
IP address where metrics server runs. Used to add IP addresses to the metrics TLS certificate SANs. Only required if accessing metrics endpoint out-of-cluster by IP address.
-metricsTLSSecretName string
The secret name which contains the TLS certs for the metrics endpoint.
-omitEvents string
Set this flag to a comma sperated list of PolicyViolation, PolicyApplied, PolicyError, PolicySkipped to disable events, e.g. --omitEvents=PolicyApplied,PolicyViolation
-one_output
If true, only write logs to their native severity level (vs also writing to each lower severity level; no effect when -logtostderr=true)
-otelCollector string
Set this flag to the OpenTelemetry Collector Service Address. Kyverno will try to connect to this on the metrics port. (default "opentelemetrycollector.kyverno.svc.cluster.local")
-otelConfig string
Set this flag to 'grpc', to enable exporting metrics to an Opentelemetry Collector. The default collector is set to "prometheus" (default "prometheus")
-profile
Set this flag to 'true', to enable profiling.
-profileAddress string
Profiling server address, defaults to ''.
-profilePort string
Profiling server port, defaults to '6060'. (default "6060")
-registryCredentialHelpers string
Credential helpers to enable (default,google,amazon,azure,github). No helpers are added when this flag is empty.
-resyncPeriod duration
Configure the resync period for informer factory (default 15m0s)
-skip_headers
If true, avoid header prefixes in the log messages
-skip_log_headers
If true, avoid headers when opening log files (no effect when -logtostderr=true)
-stderrthreshold value
logs at or above this threshold go to stderr when writing to files and stderr (no effect when -logtostderr=true or -alsologtostderr=true unless -legacy_stderr_threshold_behavior=false) (default 2)
-tracingAddress string
Tracing receiver address, defaults to ''.
-tracingCreds string
Set this flag to the CA secret containing the certificate which is used by our Opentelemetry Tracing Client. If empty string is set, means an insecure connection will be used
-tracingPort string
Tracing receiver port, defaults to '4317'. (default "4317")
-transportCreds string
Set this flag to the CA secret containing the certificate which is used by our Opentelemetry Metrics Client. If empty string is set, means an insecure connection will be used
-v value
number for the log level verbosity
-vmodule value
comma-separated list of pattern=N settings for file-filtered logging
Options (70)
| Option | Description | Source |
|---|---|---|
-add_dir_header | If true, adds the file directory to the header of the log messages | help |
-allowHTTPInNamespacedPolicies value | Set to 'true' to enable CEL http.Get/Post in namespaced policies. | help |
-allowInsecureRegistry | Whether to allow insecure connections to registries. | help |
-allowedResults string | Comma separated list of result types for which creating reports is desired. | help |
-alsologtostderr | log to standard error as well as files (no effect when -logtostderr=true) | help |
-alsologtostderrthreshold value | logs at or above this threshold go to stderr when -alsologtostderr=true (no effect when -logtostderr=true) | help |
-apiCallTimeout duration | Timeout for HTTP API calls made by policies. | help |
-autoMemLimitEnabled | Enable automatic GOMEMLIMIT configuration based on container or system memory. | help |
-autoMemLimitRatio float | The ratio of reserved GOMEMLIMIT memory to the detected maximum container or system memory. | help |
-cleanupServerHost string | Host used by the cleanup server. | help |
-cleanupServerPort int | kyverno cleanup server port, defaults to '9443'. | help |
-clientRateLimitBurst int | Configure the maximum burst for throttle. | help |
-clientRateLimitQPS float | Configure the maximum QPS to the Kubernetes API server from Kyverno. | help |
-controllerRuntimeMetricsAddress string | Bind address for controller-runtime metrics server. | help |
-crdWatcher | Enable watching of custom resources to invalidate discovery cache on changes. | help |
-disableLogColor | Disable colored output in logs. | help |
-disableMetrics | Set this flag to 'true' to disable metrics. | help |
-enableConfigMapCaching | Enable config maps caching. | help |
-enableDeferredLoading value | enable deferred loading of context variables | help |
-enablePolicyException | Enable PolicyException feature. | help |
-enableReporting string | Comma separated list to enable reporting for different rule types. | help |
-enableTracing | Set this flag to 'true', to enable tracing. | help |
-eventsRateLimitBurst int | Configure the maximum burst for throttle for events. | help |
-eventsRateLimitQPS float | Configure the maximum QPS to the Kubernetes API server from Kyverno for events. | help |
-exceptionNamespace string | Configure the namespace to accept PolicyExceptions. | help |
-exemplarFilter string | Configure the exemplar filter for metrics. | help |
-genWorkers int | Workers for the background controller. | help |
-httpAllowlist value | Comma-separated list of URL prefixes (scheme+host[+path]) permitted in CEL http.Get/Post and apiCall.service calls. | help |
-httpBlocklist value | Comma-separated list of CIDR ranges or hostnames blocked from CEL http.Get/Post and apiCall.service calls. | help |
-imagePullSecrets string | Secret resource names for image registry access credentials. | help |
-imageVerifyPayloadLimit int | Maximum decompressed size in bytes of a signature, attestation or bundle payload read during image verification. | help |
-kubeconfig string | Paths to a kubeconfig. | help |
-leaderElectionRetryPeriod duration | Configure leader election retry period. | help |
-legacy_stderr_threshold_behavior | If true, stderrthreshold is ignored when logtostderr=true (legacy behavior). | help |
-log_backtrace_at value | when logging hits line file:N, emit a stack trace | help |
-log_dir string | If non-empty, write log files in this directory (no effect when -logtostderr=true) | help |
-log_file string | If non-empty, use this log file (no effect when -logtostderr=true) | help |
-log_file_max_size uint | Defines the maximum size a log file can grow to (no effect when -logtostderr=true). | help |
-loggingFormat string | This determines the output format of the logger. | help |
-loggingtsFormat string | This determines the timestamp format of the logger. | help |
-logtostderr | log to standard error instead of files (default true) | help |
-maxAPICallResponseLength int | Maximum allowed response size from API Calls. | help |
-maxBackgroundReports int | Maximum number of ephemeralreports created for the background policies. | help |
-maxGlobalContextEntries int | Maximum number of entries in the global context store. | help |
-maxQueuedEvents int | Maximum events to be queued. | help |
-metricsCASecretName string | The secret name which contains the CA certificate for the metrics endpoint. | help |
-metricsHost string | Expose prometheus metrics at the given host. | help |
-metricsKeyAlgorithm string | Set this flag to the key algorithm used for self-signed TLS certificates for the metrics endpoint. | help |
-metricsPort int | Expose prometheus metrics at the given port, default to 8000. | help |
-metricsRenewBefore duration | The certificate renewal time before expiration for metrics TLS certificates. | help |
-metricsServerIP string | IP address where metrics server runs. | help |
-metricsTLSSecretName string | The secret name which contains the TLS certs for the metrics endpoint. | help |
-omitEvents string | Set this flag to a comma sperated list of PolicyViolation, PolicyApplied, PolicyError, PolicySkipped to disable events, e.g. --omitEvents=PolicyApplied,PolicyViolation | help |
-one_output | If true, only write logs to their native severity level (vs also writing to each lower severity level; | help |
-otelCollector string | Set this flag to the OpenTelemetry Collector Service Address. | help |
-otelConfig string | Set this flag to 'grpc', to enable exporting metrics to an Opentelemetry Collector. | help |
-profile | Set this flag to 'true', to enable profiling. | help |
-profileAddress string | Profiling server address, defaults to ''. | help |
-profilePort string | Profiling server port, defaults to '6060'. | help |
-registryCredentialHelpers string | Credential helpers to enable (default,google,amazon,azure,github). | help |
-resyncPeriod duration | Configure the resync period for informer factory (default 15m0s) | help |
-skip_headers | If true, avoid header prefixes in the log messages | help |
-skip_log_headers | If true, avoid headers when opening log files (no effect when -logtostderr=true) | help |
-stderrthreshold value | logs at or above this threshold go to stderr when writing to files and stderr (no effect when -logtostderr=true or -alsologtostderr=true unless -legacy_stderr_threshold_behavior=false) (default 2) | help |
-tracingAddress string | Tracing receiver address, defaults to ''. | help |
-tracingCreds string | Set this flag to the CA secret containing the certificate which is used by our Opentelemetry Tracing Client. | help |
-tracingPort string | Tracing receiver port, defaults to '4317'. | help |
-transportCreds string | Set this flag to the CA secret containing the certificate which is used by our Opentelemetry Metrics Client. | help |
-v value | number for the log level verbosity | help |
-vmodule value | comma-separated list of pattern=N settings for file-filtered logging | help |