zalando / zalando/postgres-operator

Infrastructure roles via zalando/postgres-operator do not create the required roles as per the documentation.

Open
#1,764 4 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
5.2k
Forks
1.1k
Avg merge
2d 16h
Merged PRs (30d)
3

Description

Firstly, is there anyone who can provide a working step by step instruction for this topic?

Also, there is a similar issue raised previously in #1618

I have tried creating infrastructure roles in both ways mentioned in the document and none seem to ahve worked.

  1. With the infrastructure roles secret only
  2. With both the the secret and the infrastructure role ConfigMap.

Method 1-The manifests used:

Secret:
apiVersion: v1
kind: Secret
metadata:
  name: postgresbackup-infrastructure-roles
  namespace: zalando
data:
  user1: YmFja3VwX3VzZXI=
  password1: c2VjcmV0
  inrole1: b3BlcmF0b3I=`
Operatorconfiguration:
apiVersion: "acid.zalan.do/v1"
kind: OperatorConfiguration
metadata:
  name: postgresql-operator-configuration
  namespace: zalando
configuration:
  kubernetes:
    infrastructure_roles_secrets:
    - secretname: "postgresbackup-infrastructure-roles"
      userkey: "user1"
      passwordkey: "password1"
      rolekey: "inrole1"

Method 2-The manifests used:

Secret:
apiVersion: v1
data:
  user1: cm9ib3Rfem1vbl9hY2lkX21vbml0b3Jpbmc=
  password1: Zm9vYmFy
  inrole1: cm9ib3Rfem1vbg==
  user2: dGVzdHVzZXI=
  password2: dGVzdHBhc3N3b3Jk
  batman: anVzdGljZQ==
kind: Secret
metadata:
  name: postgresql-infrastructure-roles
  namespace: default
type: Opaque
Configmap:
apiVersion: v1
kind: ConfigMap
metadata:
  name: postgresql-infrastructure-roles
data:
  batman: |
    inrole: [admin]  # following roles will be assigned to the new user
    user_flags:
      - createdb
    db_parameters:  # db parameters, applied for this particular user
      log_statement: all

I also created pacthes for both methods- for operatorconfiguration and configmap so as to set the pod envrionment, like:

apiVersion: v1
kind: ConfigMap
metadata:
  name: postgres-operator
data:
  pod_environment_configmap: "zalando/postgresql-infrastructure-roles"

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the infrastructure-roles documentation and compare its Secret, OperatorConfiguration, ConfigMap, and pod_environment_configmap examples with the manifests in this issue. Reproduce both methods and verify whether the required PostgreSQL roles are created as documented; document the working configuration or identify the failing configuration path.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes, postgresql
Domain
databases, devops
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.