Container Image Requirements
============================
The CloudNativePG operator for Kubernetes is designed to work with any
compatible container image of PostgreSQL that complies with the
following requirements:
- PostgreSQL executables that must be in the path: - ``initdb`` -
``postgres`` - ``pg_ctl`` - ``pg_controldata`` - ``pg_basebackup``
- Barman Cloud executables that must be in the path: -
``barman-cloud-backup`` - ``barman-cloud-backup-delete`` -
``barman-cloud-backup-list`` - ``barman-cloud-check-wal-archive`` -
``barman-cloud-restore`` - ``barman-cloud-wal-archive`` -
``barman-cloud-wal-restore``
- PGAudit extension installed (optional - only if PGAudit is required
in the deployed clusters)
- Appropriate locale settings
.. Important::
Only `PostgreSQL versions supported by the PGDG `_ are allowed.
No entry point and/or command is required in the image definition, as
CloudNativePG overrides it with its instance manager.
.. Warning::
Application Container Images will be used by CloudNativePG in a **Primary with multiple/optional Hot Standby Servers Architecture** only.
The CloudNativePG community provides and supports `public PostgreSQL container images `_
that work with CloudNativePG, and publishes them on `ghcr.io `_ .
Image tag requirements
----------------------
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``
.. Warning::
`latest` is not considered a valid tag for the image.