Skip to content

PgBouncer does not use Custom TLS Certificate #1230

@borchero

Description

@borchero
  • Which image of the operator are you using? registry.opensource.zalan.do/acid/postgres-operator:v1.5.0
  • Where do you run it - cloud or metal? Kubernetes or OpenShift? GKE
  • Are you running Postgres Operator in production? no
  • Type of issue? Bug/Feature

The Postgres Operator currently supports setting custom TLS certificates. However, regardless of whether this option is set, the pooler (pgBouncer) generates its own self-signed TLS certificates. This is a problem when clients try to verify the presented TLS certificate.

In order to make this work, at least two things have to be done:

  • The operator must mount the TLS secret into the pooler Pods
  • The pooler image must use the TLS certificates that are mounted by the secret instead of generating its own certificates

As I'm not completely familiar with pgBouncer, it might also be necessary to periodically check for certificate changes and reload the Pods if something has changed. If pgBouncer implements hot reloads, this code should reside in the pooler image. Otherwise, the operator should watch the TLS secret and redeploy the pooler deployment to prevent all Pods from restarting simultaneously.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions