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

Support Cluster Scoped ObjectStore in CNPG clusters

Ouverte
#448 12 commentaires 18 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Go
Étoiles
191
Forks
72
Merge moyen
2 j 21 h
PR mergées (30 j)
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.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Aucun fichier ni test n’est indiqué. Commencez par rechercher dans le dépôt barmanObjectName ainsi que la recherche ou la validation de namespace pour les références à ObjectStore, puis suivez la manière dont les paramètres du plugin de Cluster sont résolus. La tâche est terminée lorsqu’un Cluster peut référencer un ObjectStore dans un autre namespace via le champ namespace proposé, avec une validation appropriée et des tests du comportement entre namespaces.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
go, kubernetes, postgresql
Domaine
databases, devops
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.