Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/actions/generate-catalogs/catalogs_generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
from subprocess import check_output

supported_img_types = ["minimal", "standard", "system"]
supported_os_names = ["bullseye", "bookworm", "trixie"]
supported_os_names = ["bookworm", "trixie"]
min_supported_major = 13

default_registry = "ghcr.io/cloudnative-pg/postgresql"
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/catalogs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,16 +39,14 @@ jobs:
output-dir: artifacts/image-catalogs/
registry: ghcr.io/cloudnative-pg/postgresql
family: postgresql
distributions: bullseye,bookworm,trixie
distributions: bookworm,trixie
image-types: minimal,standard,system
regex: '(\d+)(?:\.\d+|beta\d+|rc\d+|alpha\d+)-(\d{12})'

# TODO: remove this step once system images are EOL
- name: Update legacy catalogs
run: |
cp artifacts/image-catalogs/catalog-system-bullseye.yaml postgres-containers/Debian/ClusterImageCatalog-bullseye.yaml
cp artifacts/image-catalogs/catalog-system-bookworm.yaml postgres-containers/Debian/ClusterImageCatalog-bookworm.yaml
yq -i '.metadata.name = "postgresql"' postgres-containers/Debian/ClusterImageCatalog-bullseye.yaml
yq -i '.metadata.name = "postgresql"' postgres-containers/Debian/ClusterImageCatalog-bookworm.yaml

- name: Install cosign
Expand Down
24 changes: 0 additions & 24 deletions Debian/ClusterImageCatalog-bullseye.yaml

This file was deleted.

1 change: 0 additions & 1 deletion Debian/ClusterImageCatalog-bullseye.yaml.sigstore.json

This file was deleted.

23 changes: 3 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@ including End-of-Life (EOL) and Long-Term Support (LTS) dates.
| ------------------------- | :-----: | :----------: | :--------: | :--------: | :--------- |
| Trixie (`stable`) | 13 | 2025-08-09 | 2028-08-09 | 2030-06-30 | Supported |
| Bookworm (`oldstable`) | 12 | 2023-06-10 | 2026-06-10 | 2028-06-30 | Supported |
| Bullseye (`oldoldstable`) | 11 | 2021-08-14 | 2024-08-14 | 2026-08-31 | Deprecated |

> **IMPORTANT:** The CloudNativePG project provides full support for
> Debian-based images until each release reaches its official End-of-Life
Expand Down Expand Up @@ -168,21 +167,6 @@ While the most reliable way to reference an image is by its digest, the
`MM.mm-TYPE-OS` tag usually provides a good balance between stability and
convenience for most use cases.

### Deprecated Rolling Tags

For historical reasons, the `system` image also carries two additional rolling
tags:

- `MM.mm`: latest `system` image for a given PostgreSQL *minor* version (e.g.
`16.10`) on Debian `bullseye`.
- `MM`: latest `system` image for a given PostgreSQL *major* version (e.g.
`16`) on Debian `bullseye`.

**IMPORTANT:** These tags are **deprecated** and will be **removed when
`bullseye` images reach end of life**. Please migrate to one of the supported
tag formats that explicitly include both the **image type** and the
**distribution version** (e.g. `16.10-minimal-trixie`).

## Image Catalogs

CloudNativePG publishes `ClusterImageCatalog` manifests for CloudNativePG in
Expand All @@ -191,10 +175,9 @@ with one catalog available for each supported combination of image type and
operating system version.

**IMPORTANT:** If you are still relying on the legacy
[`ClusterImageCatalog-bullseye.yaml`](Debian/ClusterImageCatalog-bullseye.yaml)
and [`ClusterImageCatalog-bookworm.yaml`](Debian/ClusterImageCatalog-bookworm.yaml)
manifests, please migrate to the new catalogs as soon as possible. These legacy
manifests are deprecated and will be removed along with the `system` image.
[`ClusterImageCatalog-bookworm.yaml`](Debian/ClusterImageCatalog-bookworm.yaml)
manifest, please migrate to the new catalog as soon as possible. This legacy
manifest is deprecated and will be removed along with the `system` image.

## Security

Expand Down
16 changes: 3 additions & 13 deletions docker-bake.hcl
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,7 @@ target "default" {
// renovate: datasource=docker versioning=loose
"debian:trixie-slim@sha256:d7e12182ce18b85b93007c1dedf31f2d29e01ccf3182cc4017c709b6259bc132",
// renovate: datasource=docker versioning=loose
"debian:bookworm-slim@sha256:88200866dfff7ea7f5cbcb6ec7c8a701889efe6fe859fe64d6990e4b07ea4171",
// renovate: datasource=docker versioning=loose
"debian:bullseye-slim@sha256:e5b6442dd2e9684cf5e87d8338b5968f3b348636fc0be6d7850a381e3731a2bd"
"debian:bookworm-slim@sha256:88200866dfff7ea7f5cbcb6ec7c8a701889efe6fe859fe64d6990e4b07ea4171"
]
}
platforms = [
Expand All @@ -71,11 +69,11 @@ target "default" {
]
dockerfile = "Dockerfile"
name = "postgresql-${index(split(".",cleanVersion(pgVersion)),0)}-${tgt}-${distroVersion(base)}"
tags = concat([
tags = [
"${fullname}:${index(split(".",cleanVersion(pgVersion)),0)}-${tgt}-${distroVersion(base)}",
"${fullname}:${cleanVersion(pgVersion)}-${tgt}-${distroVersion(base)}",
"${fullname}:${cleanVersion(pgVersion)}-${formatdate("YYYYMMDDhhmm", now)}-${tgt}-${distroVersion(base)}",
], (tgt == "system" && distroVersion(base) == "bullseye" && isPreview(pgVersion) == false) ? getRollingTags("${fullname}", pgVersion) : [])
]
context = "."
target = "${tgt}"
args = {
Expand Down Expand Up @@ -186,11 +184,3 @@ function getPgVersions {
]
)
}

function getRollingTags {
params = [ imageName, pgVersion ]
result = [
format("%s:%s", imageName, pgVersion),
format("%s:%s", imageName, getMajor(pgVersion))
]
}