Image catalog v2.0.0

A PGD group has its own ImageCatalog and ClusterImageCatalog. ImageCatalog and ClusterImageCatalog are essential resources that allow you to define PGD images for creating a PGDGroup.

The key distinction is in their scope: an ImageCatalog is namespaced, while a ClusterImageCatalog is cluster-scoped.

Both share a common structure, comprising a list of PGD images. Each PGD image contains a major field indicating the major Postgres version of the image.

Warning

The operator trusts the user-defined major version and doesn't conduct any PostgreSQL version detection. It's your responsibility to ensure alignment between the declared major version in the catalog and the PostgreSQL image.

The major field's value must remain unique in a catalog, preventing duplication across images. However, distinct catalogs can expose different images under the same major value.

Example of a namespaced ImageCatalog

apiVersion: pgd.k8s.enterprisedb.io/v1beta1
kind: ImageCatalog
metadata:
  name: pgextended-k8s-pgd62-expanded-ubi9
  namespace: default
spec:
  images:
    - major: 15
      image: docker.enterprisedb.com/k8s/edb-postgres-extended-pgd:15.15-pgd620-expanded-ubi9
    - major: 16
      image: docker.enterprisedb.com/k8s/edb-postgres-extended-pgd:16.11-pgd620-expanded-ubi9
    - major: 17
      image: docker.enterprisedb.com/k8s/edb-postgres-extended-pgd:17.7-pgd620-expanded-ubi9
    - major: 18
      image: docker.enterprisedb.com/k8s/edb-postgres-extended-pgd:18.1-pgd620-expanded-ubi9

Example of a cluster-wide catalog using ClusterImageCatalog resource

apiVersion: pgd.k8s.enterprisedb.io/v1beta1
kind: ClusterImageCatalog
metadata:
  name: pgextended-k8s-pgd62-expanded-ubi9
spec:
  images:
    - major: 15
      image: docker.enterprisedb.com/k8s/edb-postgres-extended-pgd:15.15-pgd620-expanded-ubi9
    - major: 16
      image: docker.enterprisedb.com/k8s/edb-postgres-extended-pgd:16.11-pgd620-expanded-ubi9
    - major: 17
      image: docker.enterprisedb.com/k8s/edb-postgres-extended-pgd:17.7-pgd620-expanded-ubi9
    - major: 18
      image: docker.enterprisedb.com/k8s/edb-postgres-extended-pgd:18.1-pgd620-expanded-ubi9

A PGDGroup resource has the flexibility to reference either an ImageCatalog or a ClusterImageCatalog to precisely specify the desired image:

apiVersion: pgd.k8s.enterprisedb.io/v1beta1
kind: PGDGroup
metadata:
  name: group-example
spec:
  [...]
  imageCatalogRef:
    apiGroup: pgd.k8s.enterprisedb.io
    kind: ImageCatalog
    name: pgextended-k8s-pgd62-expanded-ubi9
    major: 16
  [...]

PGD groups utilizing these catalogs maintain continuous monitoring. Any alterations to the images in a catalog trigger automatic updates for all associated PGD groups that reference that specific entry.

Image catalog with latest operand

The latest operand images for each PGD extension minor release are maintained in the PGD Operand images section. These images are the up-to-date images stored in the k8s repository. You can either reference the entire imageCatalog directly or use individual operand images as needed.