cloudnative-pg / cloudnative-pg/plugin-barman-cloud
[feature request] Allow specifying namespace of Barman ObjectStore CR
- Dominant language
- Go
- Stars
- 191
- Forks
- 72
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 18
Description
Currently, the ObjectStore referenced in a Cluster has to be in the same namespace. It would be helpful to be able to specify a namespace where the ObjectStore should be fetched from.
This can have security implications and there should probably a mechanism to enable or disable the access from a different namespace. This could be a flag in the ObjectStore itself.
e.g.:
```yaml
---
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: test-cluster
namespace: cluster-namespace
spec:
instances: 3
plugins:
- name: barman-cloud.cloudnative-pg.io
isWALArchiver: true
parameters:
barmanObjectName: s3-store
barmanObjectNamespace: cnpg-system # Add the namespace here
---
apiVersion: barmancloud.cnpg.io/v1
kind: ObjectStore
metadata:
name: s3-store
namespace: cnpg-system
spec:
configuration:
destinationPath:
endpointURL:
s3Credentials:
# Configure namespace access
allowAccessFromNamespace: true
# Maybe allow explicitly specifying the namespace(s):
allowAccessFromNamespaces:
- cluster-namespace
```
Contributor guide
Research direction
Review the Cluster plugin parameters and ObjectStore custom-resource definitions to understand how the barmanObjectName is resolved today. Clarify the cross-namespace authorization model before implementation; done means a namespace can be specified safely, access can be restricted, and the behavior is covered by the relevant tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes, postgresql
- Domain
- backend-api-design, databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100