cloudnative-pg / cloudnative-pg/plugin-barman-cloud
Support Cluster Scoped ObjectStore in CNPG clusters
- Dominant language
- Go
- Stars
- 191
- Forks
- 72
- Avg merge
- 2d 21h
- Merged PRs (30d)
- 21
Description
Currently, when configuring the Barman Cloud plugin in a Cluster resource, the barmanObjectName parameter only allows referencing ObjectStore configurations from the same namespace as the CNPG Cluster.
I would like to request support for cross-namespace references so that we can define shared ObjectStore configurations centrally (e.g., in a cnpg-system or infrastructure namespace), and reuse them across multiple database clusters in different namespaces.
Current Behavior:
```yaml
spec:
plugins:
- name: barman-cloud.cloudnative-pg.io
isWALArchiver: true
parameters:
barmanObjectName: minio-store # must exist in same namespace
```
This configuration requires a duplicate copy of minio-store in each namespace that has a Cluster.
Requested Behavior:
Allow for something like the following:
```yaml
spec:
plugins:
- name: barman-cloud.cloudnative-pg.io
isWALArchiver: true
parameters:
barmanObjectName: minio-store
barmanObjectNamespace: cnpg-system # new field to support cross-namespace
```
Use Case / Motivation:
Centralize storage credentials and reduce secret duplication across environments.
Aligns with GitOps, multi-tenant, and RBAC best practices.
Improves DRY (Don't Repeat Yourself) and credential management in production-grade Kubernetes platforms.
Additional Context:
Similar cross-namespace reference patterns are used in projects like External Secrets Operator, cert-manager, and ArgoCD. This change would help platform teams standardize and secure backup configuration for PostgreSQL clusters across many namespaces.
Contributor guide
Assessment
This issue has not been assessed yet.