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

Support Cluster Scoped ObjectStore in CNPG clusters

未关闭
#448 12 条评论 18 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Go
星标
191
派生
72
平均合并
1 天 16 小时
30 天内合并 PR
18

描述

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.

贡献指南

打开贡献指南

调研方向

未指定文件或测试。首先在仓库中搜索 barmanObjectName 以及 ObjectStore 引用的 namespace 查找或验证,然后跟踪 Cluster 插件参数是如何解析的。完成的标准是:Cluster 可以通过提议的 namespace 字段引用另一个 namespace 中的 ObjectStore,并且针对跨 namespace 行为具有适当的验证和测试。

由索引模型根据 Issue 内容生成。

评估

技术栈
go, kubernetes, postgresql
领域
databases, devops
Issue 类型
功能
难度
5/5
预计耗时
一周以上
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。