Skip to main content

Configuration reference

This page is generated from the Kwatch configuration catalog. Edit the Go configuration source and catalog metadata instead of editing this page.

Performance​

FieldTypeDefaultStatusDescription
resyncSecondsinteger300activePeriodic safety resync interval in seconds; zero keeps event-driven mode, otherwise at least 30.

Scope​

FieldTypeDefaultStatusDescription
namespaceslistallactiveComma-separated namespaces to watch; leave empty to watch every namespace.
namespaceSelectorstringemptyactiveKubernetes label selector used to choose namespaces.
reasonslistallactiveComma-separated event reasons to allow or exclude with a leading !.
watch.secretsbooleantrueactiveWatch Secrets (values hashed, never stored); false removes Secret RBAC and Secret-based checks report that they cannot verify.

Alerts​

FieldTypeDefaultStatusDescription
severityByOwnerKindjson{}activeJSON map overriding severity by workload owner kind.
severityByReasonjson{}activeJSON map overriding severity by detected reason.

Monitors​

FieldTypeDefaultStatusDescription
heartbeatMonitor.enabledbooleanfalseactiveSend a periodic external dead-man heartbeat.
heartbeatMonitor.intervalinteger300activeSeconds between heartbeat notifications.
activeProbeMonitor.enabledbooleanfalseactiveRun explicitly configured application probes.
activeProbeMonitor.intervalSecondsinteger30activeSeconds between active probe rounds.
activeProbeMonitor.timeoutSecondsinteger5activeTimeout for each active probe.
activeProbeMonitor.failureThresholdinteger3activeConsecutive probe failures before alerting.
activeProbeMonitor.autoServicesbooleanfalseactiveProbe discoverable Service ports automatically; opt in to avoid unexpected traffic.
activeProbeMonitor.excludeNamespaceslist[]activeNamespaces automatic Service probing skips, for default-deny ingress that does not admit kwatch.
activeProbeMonitor.httpjson[]activeJSON array of HTTP probe targets with optional paths, headers, and latency limits.
activeProbeMonitor.tcpjson[]activeJSON array of TCP probe targets.
activeProbeMonitor.dnsjson[]activeJSON array of DNS probe targets.
activeProbeMonitor.autoDependenciesbooleanfalseactiveProbe the endpoints outside the cluster that pod environments name, over TCP; a refused dependency explains its callers.

Operations​

FieldTypeDefaultStatusDescription
upgrader.disableUpdateCheckbooleanfalseactiveDisable the update notification.
telemetry.enabledbooleantrueactiveSend the weekly adoption heartbeat.
maintenance.enabledbooleantrueactiveHonor maintenance annotations while preserving cluster-level alerts.
maintenance.annotationstringkwatch.io/maintenanceactiveAnnotation that marks deliberate maintenance on a resource.
maintenance.untilAnnotationstringkwatch.io/maintenance-untilactiveOptional annotation containing the maintenance expiry timestamp.
app.clusterNamestringemptyactiveCluster name shown in notifications.
app.proxyURLstringemptyactiveOptional proxy for outbound provider requests.
app.disableStartupMessagebooleanfalseactiveDisable the startup notification.
app.logFormatterstringtextactiveLog output format: text or json.
healthCheck.enabledbooleantrueactiveExpose the built-in health endpoint.
healthCheck.portinteger8060activePort for health and optional diagnostic endpoints.
crd.enabledbooleanfalseactiveWatch KwatchConfig and supported CRD status conditions; restart kwatch when configuration changes; enabled by the interactive installer after installing the CRD.
auditLog.enabledbooleantrueactiveWrite structured incident lifecycle records to the configured audit sink.
auditLog.outputstringstdoutactiveAudit output: stdout or a supported output sink.
templatesjson{}activeJSON map of optional reason-specific message templates.
runbooksjson{}activeJSON map of reason-to-runbook URLs.
app.hideProHintsbooleanfalseactiveRemove the note that names what kwatch Pro adds from Community messages.
license.keystringemptyactivekwatch Pro license key; reference it as ${KWATCH_LICENSE_KEY}. The KWATCH_LICENSE_KEY variable wins over this setting. Empty runs the Community edition.
app.communityProviderstringemptyactiveAlert provider the Community edition keeps when several are configured; empty keeps the first by name.

Security​

FieldTypeDefaultStatusDescription
app.insecureSkipTLSVerifybooleanfalseactiveSkip TLS verification for outbound providers; strongly discouraged.
app.caBundlePathstringemptyactivePath to a mounted PEM bundle for outbound provider TLS.
heartbeatMonitor.urlstringemptysecretExternal dead-man heartbeat URL; stored only through a mounted Secret.
kubelet.insecureSkipVerifybooleanfalseactiveSkip kubelet serving certificate verification for direct node stats reads; only for self-signed kubelet certificates.
healthCheck.statusEndpointbooleanfalseactiveServe the read-only /status view (object names, no authentication) on the health port; off by default.

Noise reduction​

FieldTypeDefaultStatusDescription
silencesjson[]activeJSON array of scoped silence rules, including eventMessages substring matches for attached Kubernetes Events.

Compatibility​

FieldTypeDefaultStatusDescription
ignoreContainerNameslistlegacydeprecatedLegacy container suppression field.
ignorePodNameslistlegacydeprecatedLegacy pod-name suppression field.
ignoreContainerMessageslistlegacydeprecatedLegacy container-message suppression field.
ignoreNodeReasonslistlegacydeprecatedLegacy node-reason suppression field.
ignoreNodeMessageslistlegacydeprecatedLegacy node-message suppression field.