Pg Operator Ui

Prerequisites

This guide assumes you have the following prerequisites in place:

Zalando PG Operator Ui

This is an optional guide to deploy the Zalando PG Operator Ui, which is a web-based interface to manage your PostgreSQL clusters.

Installation

  1. Create the following directory structure for the Pg Operator Ui:

      pg-operator-ui/
      ├── pg-operator-ui-repo.yml
      ├── pg-operator-ui-release.yml
      └── pg-operator-ui-ingress.yml
  2. Add the following content to pg-operator-ui/pg-operator-ui-repo.yml:

     ---
     apiVersion: source.toolkit.fluxcd.io/v1
     kind: HelmRepository
     metadata:
       name: postgres-operator-ui-charts
       namespace: flux-system
     spec:
       interval: 6h
       url: https://opensource.zalando.com/postgres-operator/charts/postgres-operator-ui
  3. Add the following content to pg-operator-ui/pg-operator-ui-release.yml:

    ---
    apiVersion: helm.toolkit.fluxcd.io/v2
    kind: HelmRelease
    metadata:
      name: postgres-operator-ui
      namespace: postgres-operator
    spec:
      interval: 6h
      chart:
        spec:
          chart: postgres-operator-ui
          version: "1.15.1"
          sourceRef:
            kind: HelmRepository
            name: postgres-operator-ui-charts
            namespace: flux-system
          interval: 6h
      install:
        createNamespace: true
      upgrade:
        remediation:
          remediateLastFailure: true
      values:
        envs:
          targetNamespace: postgres-operator
  4. Add the following content to pg-operator-ui/pg-operator-ui-ingress.yml:

    ---
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: pg-ui-ingress
      namespace: postgres-operator
      annotations:
        cert-manager.io/cluster-issuer: letsencrypt-cloudflare
        traefik.ingress.kubernetes.io/router.middlewares: tools-authelia@kubernetescrd
        traefik.ingress.kubernetes.io/router.entrypoints: websecure
    spec:
      ingressClassName: traefik
      tls:
      - hosts:
        - pg.example.com
        secretName: pg-ui-tls
      rules:
      - host: pg.example.com
        http:
          paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: postgres-operator-ui
                port:
                  number: 80
  5. Commit and push the changes to your Git repository. FluxCD will automatically deploy the Pg Operator Ui to your cluster.