Search code examples
cloudnative-pg

CloudNative PG - Invalid imageName with timescaledb docker image


I am trying to test CNPG with TimescaleDB, but applying the following CNPG Cluster configuration:

apiVersion: postgresql.cnpg.io/v1
kind: Cluster
spec:
  ...
  imageName: "timescaledb:2.10.2-pg15"
  ...

Results in this error:

Error: INSTALLATION FAILED: admission webhook "vcluster.kb.io" denied the request: Cluster.postgresql.cnpg.io "basic-timescale-cluster" is invalid: spec.imageName: Invalid value: "timescaledb:2.10.2-pg15": Unsupported PostgreSQL version. Versions 11 or newer are supported

Is there some validation performed on the imageName or is there a problem with this specific docker image?


Solution

  • The pg image used by cloudnative-pg need to follow this rule


    While the image name can be anything valid for Docker, the CloudNativePG operator relies on the image tag to detect the Postgres major version contained in the image.

    The image tag must start with a valid PostgreSQL major version number (e.g. 14.5 or 15) optionally followed by a dot and the patch level.

    This can be followed by any character combination that is valid and accepted in a Docker tag, preceded by a dot, an underscore, or a minus sign.

    Examples of accepted image tags:

    • 11.1
    • 12.3.2.1-1
    • 12.4 13
    • 14.5-10
    • 15.0

    more details please see the link from official document https://github.com/cloudnative-pg/cloudnative-pg/blob/main/docs/src/container_images.md#image-tag-requirements