feat: add PostgreSQL 17beta1 images (#107)

Adding documentation on the project's structure and on how to add a new Postgres Beta version.

Signed-off-by: Gabriele Bartolini <gabriele.bartolini@enterprisedb.com>
Signed-off-by: Niccolò Fei <niccolo.fei@enterprisedb.com>
Co-authored-by: Niccolò Fei <niccolo.fei@enterprisedb.com>
This commit is contained in:
Gabriele Bartolini
2024-06-05 13:28:33 +02:00
committed by GitHub
parent b596df6e80
commit 58becf0bd9
9 changed files with 1272 additions and 2 deletions

56
Debian/README.md Normal file
View File

@@ -0,0 +1,56 @@
# Debian-based Container Images
This folder contains the `Dockerfile` manifests needed to build Debian-based
PostgreSQL operand container images for use with CloudNativePG.
The images are based on the official [PostgreSQL images on
DockerHub](https://hub.docker.com/_/postgres).
The folder includes:
- Directories for each supported PostgreSQL version.
- [Image catalog
files](https://cloudnative-pg.io/documentation/current/image_catalog/) for
each Debian version.
- Templates for the main `Dockerfile` and the beta version `Dockerfile`
(typically identical, except for some extensions that are not ready for the
new major release of PostgreSQL).
- The `requirements.in` file required to build Barman Cloud images. (Note: This
file will be removed once a Barman Cloud plugin supporting CNPG-I is
distributed.)
- The main update script.
## Adding a New Beta Version
To add a new beta version, follow these steps:
1. Create a new issue in the ["postgres-containers" project](https://github.com/cloudnative-pg/postgres-containers)
with the title "Add PostgreSQL XX beta1 images".
2. Clone the `postgres-containers` repository.
3. Create a new branch named after the issue ID (e.g., `dev/YYY`).
4. Create the `Debian/XX/` directory.
5. Identify the latest Debian version name (e.g., `bookworm`).
6. Run `Debian/update.sh XX -d bookworm` which will create a
`.versions.json` file into the `Debian/XX/bookworm/` directory.
7. Add the new directory to your commit and push the changes.
8. Run the `Automatic updates` action on the branch and wait for it to complete
(this will add a commit to the branch).
9. Submit a pull request.
## Troubleshooting
### Common issues
* Error while running `update.sh`
```
sed: can't read requirements.txt: No such file or directory
cat: requirements.txt: No such file or directory
rm: cannot remove 'requirements.txt': No such file or directory
```
If a similar error appears, the reason is that you are missing the
`pip-compile` utility that's needed to build the python requirements
for Barman Cloud. (Note: This requirement will be removed once a
Barman Cloud plugin supporting CNPG-I is distributed.)