zalando / zalando/postgres-operator
Configurable api group for postgres operator with default
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 5.2k
- Forks
- 1.1k
- Avg merge
- 2d 16h
- Merged PRs (30d)
- 3
Description
In Kubernetes, there is tight coupling of API group, CRD and Custom Resources managed by operators. CRDs are cluster resource and unique per cluster.
CRD operatorconfigurations.acid.zalan.do defines the operator configurations for postgres operator.
CRD postgresqls.acid.zalan.do defines minimum and maximum supported postgresql versions.
This leads to issues in a multi-tenant k8s cluster, an example provided below.
In Namespace X, user X deploys web tier application which uses zalando postgres-operator with max version PG 15.
In Namespace Y, user Y deploys web tier application which also uses zalando postgres-operator but needs PG 17 runs into an issue as CRD postgresqls.acid.zalan.do supports only PG 15. This happens because CRD is cluster scope and all namespace scoped applications should adhere to it.
With large k8s clusters, postgresql being a very popular database, zalando postgres operator being defacto way to manage databases, there is a need to keep this configurable so applications can manage the API group of CRDs.
Take API group for postgres operator as an env variable, assuming that the relevant CRDs with API groups are installed.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the operator configuration and all references to the postgres operator API group, then inspect how environment variables are currently defined and consumed. Done means the API group can be supplied through an environment variable while assuming the corresponding CRDs are installed, with coverage for the configured and default values.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes, postgresql
- Domain
- databases, devops, infrastructure
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100