Summary
The operator deployment currently has --log-level=debug hardcoded in its args (both in kubernetes/deployment.yaml and the Helm chart template), and there is no way to tune log verbosity either globally or per cluster.
Current behavior
The operator emits debug-level logs unconditionally. In a production environment with multiple clusters and frequent WAL archiving, this generates a significant volume of log entries (e.g. generated patch, lifecycle reconciliation details) that are not actionable and add noise to log aggregation systems (Loki, CloudWatch, etc.).
Desired behavior
Two complementary levels of control:
1. Global — expose the log level as a configurable Helm value:
# values.yaml
logLevel: info # default: info (or warn)
Wired into the deployment args as --log-level={{ .Values.logLevel }}.
2. Per cluster — allow overriding verbosity through the plugins parameters in the Cluster spec, so individual clusters can emit debug logs without affecting the rest:
plugins:
- name: barman-cloud.cloudnative-pg.io
isWALArchiver: true
parameters:
barmanObjectName: my-store
logLevel: debug # optional, overrides the global default
Additionally, the default in kubernetes/deployment.yaml (used for non-Helm installations) should be updated from debug to info, since running with debug verbosity in production is not a sensible default regardless of the installation method.
Alternatives considered
- Patching the Deployment directly — reverted on every sync when using GitOps tools like ArgoCD.
- Filtering at the log aggregation layer — works but hides a configuration gap.
Environment
Helm chart cnpg/plugin-barman-cloud v0.6.0, operator image v0.12.0, ArgoCD with selfHeal: true.
Summary
The operator deployment currently has
--log-level=debughardcoded in its args (both inkubernetes/deployment.yamland the Helm chart template), and there is no way to tune log verbosity either globally or per cluster.Current behavior
The operator emits debug-level logs unconditionally. In a production environment with multiple clusters and frequent WAL archiving, this generates a significant volume of log entries (e.g.
generated patch, lifecycle reconciliation details) that are not actionable and add noise to log aggregation systems (Loki, CloudWatch, etc.).Desired behavior
Two complementary levels of control:
1. Global — expose the log level as a configurable Helm value:
Wired into the deployment args as
--log-level={{ .Values.logLevel }}.2. Per cluster — allow overriding verbosity through the
pluginsparameters in theClusterspec, so individual clusters can emit debug logs without affecting the rest:Additionally, the default in
kubernetes/deployment.yaml(used for non-Helm installations) should be updated fromdebugtoinfo, since running with debug verbosity in production is not a sensible default regardless of the installation method.Alternatives considered
Environment
Helm chart
cnpg/plugin-barman-cloudv0.6.0, operator imagev0.12.0, ArgoCD withselfHeal: true.