cloudnative-pg / cloudnative-pg/plugin-barman-cloud

feat: make operator log level configurable via Helm chart and plugin parameters

Abierto
#917 0 comentarios 0 reacciones 0 asignados Ver en GitHub
enhancement
Lenguaje dominante
Go
Estrellas
191
Forks
72
Merge medio
1 d 16 h
PR fusionados (30 d)
18

Descripción

## Summary

The operator deployment currently has `--log-level=debug` hardcoded in its args (both in [`kubernetes/deployment.yaml`](https://github.com/cloudnative-pg/plugin-barman-cloud/blob/main/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:

```yaml
# 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:

```yaml
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`.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Empieza con kubernetes/deployment.yaml, values.yaml y la plantilla de deployment del chart de Helm para rastrear cómo se establece actualmente el nivel de logs del operador. Después, sigue el manejo de los parámetros de los plugins de Cluster para la sobrescritura por clúster. Se considera terminado cuando los deployments que no usan Helm tienen info como valor predeterminado, Helm expone un logLevel global y un parámetro de plugin puede sobrescribirlo para un clúster.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
go, helm, kubernetes
Área
devops, infrastructure
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Tranquilo
Claridad
Bastante claro
Aptitud para principiantes
55/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.