Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
0df1b20
chore(deps): update all github action to v0.21.6 (#244)
renovate[bot] Jun 12, 2026
3dd0b56
chore(deps): update alpine/kubectl docker tag to v1.36.2 (#246)
renovate[bot] Jun 15, 2026
4f2b6b2
chore(deps): update alpine/psql:18.4 docker digest to c39a6bd (#245)
renovate[bot] Jun 15, 2026
552cb96
ci: run Go unit tests for the maintenance module (#238)
mnencia Jun 16, 2026
ac3d13a
chore: update postgis OS libraries (#239)
cnpg-bot Jun 17, 2026
27588d7
chore(deps): update dependency postgresql-18-timescaledb (#249)
renovate[bot] Jun 19, 2026
98b69ea
chore(deps): update dependency postgresql-18-postgis-3 (#248)
renovate[bot] Jun 19, 2026
10bbd9e
chore(deps): update all github action to v0.21.7 (#247)
renovate[bot] Jun 19, 2026
c3d8a32
chore(deps): update checkout action to v7 (#250)
renovate[bot] Jun 19, 2026
a9dc798
chore(deps): update alpine/psql:18.4 docker digest to 01cbd02 (#253)
renovate[bot] Jun 22, 2026
c0bea49
chore(deps): update alpine/kubectl:1.36.2 docker digest to 01d138c (#…
renovate[bot] Jun 22, 2026
ca40546
chore(deps): update registry:3.1.1 docker digest to 5620083 (#257)
renovate[bot] Jun 23, 2026
d864293
chore(deps): update dependency postgresql-18-pgvector (#255)
renovate[bot] Jun 23, 2026
dba3bb7
chore(deps): update dependency postgresql-18-timescaledb (#258)
renovate[bot] Jun 24, 2026
b5ef9cc
chore(deps): update all github action (#260)
renovate[bot] Jun 24, 2026
9068c5c
chore(deps): update registry:3.1.1 docker digest to 1be5527 (#259)
renovate[bot] Jun 24, 2026
285eb32
chore(deps): update alpine/kubectl:1.36.2 docker digest to 03f27b6 (#…
renovate[bot] Jun 29, 2026
922cadd
chore(deps): update alpine/psql:18.4 docker digest to b884e06 (#265)
renovate[bot] Jul 1, 2026
be1c8dd
fix: set output to cacheonly when running bake --check (#262)
NiccoloFei Jul 2, 2026
838f4f7
chore(deps): update all github action (#267)
renovate[bot] Jul 2, 2026
91e19d3
chore(deps): update all github action (#270)
renovate[bot] Jul 2, 2026
add5ecd
chore(deps): update dependency postgresql-18-pgvector (#268)
renovate[bot] Jul 2, 2026
1bbe37c
chore(deps): update all github action (#271)
renovate[bot] Jul 4, 2026
80b06c8
chore(deps): update alpine/kubectl:1.36.2 docker digest to 8c14592 (#…
renovate[bot] Jul 4, 2026
3a3603a
chore(deps): update alpine/psql:18.4 docker digest to 54e0912 (#273)
renovate[bot] Jul 4, 2026
6e9e59d
chore(deps): update dependency postgresql-18-timescaledb (#269)
renovate[bot] Jul 4, 2026
9755a49
feat: derive build matrix from distros and PG versions in extension's…
NiccoloFei Jul 8, 2026
87b0579
chore(deps): update alpine/psql:18.4 docker digest to 7a47218 (#277)
renovate[bot] Jul 13, 2026
f47540c
chore: update postgis OS libraries (#263)
cnpg-bot Jul 13, 2026
13bce9a
chore(deps): update alpine/kubectl:1.36.2 docker digest to f91cb22 (#…
renovate[bot] Jul 13, 2026
e13cc07
chore(deps): update dependency postgresql-18-pgvector (#278)
renovate[bot] Jul 13, 2026
38d9417
feat: add pg_ivm extension (#49)
shusaan Jul 13, 2026
72c2850
ci: automate smoke-test cnpg matrix (#274)
NiccoloFei Jul 14, 2026
307bb2d
chore(deps): update dependency cloudnative-pg/cloudnative-pg to v1.30…
renovate[bot] Jul 14, 2026
d76b1e5
chore(deps): update alpine/psql:18.4 docker digest to 7a47218 (#279)
renovate[bot] Jul 14, 2026
3a13c62
chore: quote CNPG_RELEASE_DEFAULT (#282)
NiccoloFei Jul 15, 2026
8b0b537
chore(deps): update alpine/kubectl:1.36.2 docker digest to 9b05311 (#…
renovate[bot] Jul 20, 2026
7b26d02
chore(deps): update alpine/psql:18.4 docker digest to b3e4fc0 (#286)
renovate[bot] Jul 20, 2026
8b779ff
chore: update postgis OS libraries (#289)
cnpg-bot Jul 20, 2026
bdb895e
chore(deps): update actions/setup-go action to v7 (#283)
renovate[bot] Jul 20, 2026
a20a22c
chore(deps): update dependency postgresql-18-timescaledb (#284)
renovate[bot] Jul 21, 2026
46db169
chore(deps): update actions/checkout digest to 3d3c42e (#290)
renovate[bot] Jul 21, 2026
f0eb97f
chore: add Gabriele Fedi as a component owner (#292)
gbartolini Jul 22, 2026
cacac01
chore: expand account names in CODEOWNERS file (#288)
gbartolini Jul 23, 2026
d5709b0
chore: update postgis OS libraries (#291)
cnpg-bot Jul 24, 2026
81ebfd7
chore(deps): update docker/login-action digest to 06fb636 (#294)
renovate[bot] Jul 24, 2026
560a829
fix(PostGIS): strip `$libdir/` prefix from extension SQL scripts (#293)
gbartolini Jul 27, 2026
5f8ab39
chore(deps): update docker/login-action digest to abd2ef4 (#295)
renovate[bot] Jul 27, 2026
bd25766
chore(deps): update alpine/kubectl docker tag to v1.36.3 (#297)
renovate[bot] Jul 27, 2026
0abe95c
chore(deps): update docker/login-action digest to 371161b (#298)
renovate[bot] Jul 28, 2026
de36358
chore(deps): update dependency postgresql-18-timescaledb (#303)
renovate[bot] Jul 31, 2026
0417dc0
chore(deps): update all github action (#301)
renovate[bot] Jul 31, 2026
eea4a2f
chore(deps): update dependency postgresql-18-pgvector (#305)
renovate[bot] Aug 3, 2026
da5cb66
chore(deps): update alpine/kubectl:1.36.3 docker digest to 1f0c863 (#…
renovate[bot] Aug 3, 2026
f06c545
chore: sync CODEOWNERS with cnpg-infra policy (#306)
gbartolini Aug 4, 2026
b5c3312
chore(deps): update alpine/psql:18.4 docker digest to 96cfdbb (#296)
renovate[bot] Aug 5, 2026
927984a
chore(deps): update dorny/paths-filter action to v4.0.3 (#308)
renovate[bot] Aug 6, 2026
6548da5
chore(deps): update dependency postgresql-18-timescaledb (#309)
renovate[bot] Aug 8, 2026
3c8cce8
chore(deps): update alpine/psql:18.4 docker digest to f4c295e (#311)
renovate[bot] Aug 8, 2026
a832160
chore(deps): update alpine/kubectl:1.36.3 docker digest to 5d380d1 (#…
renovate[bot] Aug 9, 2026
48a65ae
chore(deps): update dependency postgresql-18-wal2json (#315)
renovate[bot] Aug 15, 2026
c8a992f
fix: add `wal2json` to `output_plugin_libraries` for PG 18.6+ (#319)
gbartolini Aug 17, 2026
7b55756
chore(deps): update dependency postgresql-18-timescaledb (#320)
renovate[bot] Aug 18, 2026
4cb1bd8
chore: add SECURITY-INSIGHTS.yml (#307)
gbartolini Aug 18, 2026
819f0d7
chore(deps): update alpine/psql:18.4 docker digest to 0ab0d12 (#317)
renovate[bot] Aug 18, 2026
da3e4f6
chore(deps): update alpine/kubectl:1.36.3 docker digest to dae2611 (#…
renovate[bot] Aug 18, 2026
c1aaeb8
chore(deps): update go-task/setup-task action to v2.2.0 (#313)
renovate[bot] Aug 18, 2026
f111f59
feat: add `pgrouting` container image (#299)
ofalk Aug 19, 2026
a889966
chore(deps): update docker/setup-buildx-action digest to 37fe631 (#322)
renovate[bot] Aug 20, 2026
079bc9e
chore(deps): update dependency postgresql-18-timescaledb (#323)
renovate[bot] Aug 22, 2026
7d15ca6
chore(deps): update alpine/psql docker tag to v18.6 (#325)
renovate[bot] Aug 24, 2026
c296c5d
chore(deps): update alpine/kubectl docker tag to v1.36.4 (#324)
renovate[bot] Aug 24, 2026
89916b0
chore(deps): update endbug/add-and-commit action to v11 (#312)
renovate[bot] Aug 24, 2026
1fe50c7
chore: update postgis OS libraries (#302)
cnpg-bot Aug 24, 2026
011b3fc
chore(deps): update dependency dagger/dagger to v0.21.9 (#326)
renovate[bot] Aug 27, 2026
324a6b7
Merge upstream/main at 011b3fc72455574a6b87043f14c220f6b4cca160
ardentperf-agent[bot] Sep 2, 2026
6feb959
docs: add downstream upstream-sync documentation
ardentperf-agent[bot] Sep 2, 2026
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
5 changes: 5 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/new_extension.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,9 @@ Closes #<!-- proposal issue id -->
- [ ] An entry for the new extension folder was added to
[`CODEOWNERS`](https://github.com/cloudnative-pg/postgres-extensions-containers/blob/main/CODEOWNERS)
with the component owner's GitHub handle(s).
- [ ] A `distribution-points` entry for the new image was added under
`repository.release` in
[`SECURITY-INSIGHTS.yml`](https://github.com/cnpg-extensions/postgres-extensions-containers/blob/main/SECURITY-INSIGHTS.yml).
- [ ] I confirm my commitment to maintain this extension on behalf of the
CloudNativePG community.

Expand Down Expand Up @@ -84,4 +87,6 @@ Closes #<!-- proposal issue id -->
when `create_extension = true`) are valid.
- [ ] `CODEOWNERS` entry is present and the component owner(s) accept the
long-term maintenance commitment.
- [ ] `SECURITY-INSIGHTS.yml` has a matching `distribution-points` entry for
the new image.
- [ ] PR targets `main` and is ready to merge.
6 changes: 3 additions & 3 deletions .github/workflows/bake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
matrix: ${{ steps.get-matrix.outputs.matrix}}
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
persist-credentials: false

Expand All @@ -33,7 +33,7 @@ jobs:
uses: dagger/dagger-for-github@27b130bf0f79a7f6fbbbe0fbca6760dc9bb40a77 # v8.4.1
env:
# renovate: datasource=github-tags depName=dagger/dagger versioning=semver
DAGGER_VERSION: 0.21.5
DAGGER_VERSION: 0.21.9
with:
version: ${{ env.DAGGER_VERSION }}
verb: call
Expand Down Expand Up @@ -66,7 +66,7 @@ jobs:
} >> "$GITHUB_ENV"

- name: Check for changes
uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3
id: filter
with:
filters: |
Expand Down
42 changes: 31 additions & 11 deletions .github/workflows/bake_targets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,35 +27,35 @@ jobs:
images: ${{ steps.images.outputs.images }}
steps:
- name: Checkout Code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
persist-credentials: false

- name: Log in to the GitHub Container registry
uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4
uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Set up QEMU
uses: docker/setup-qemu-action@06116385d9baf250c9f4dcb4858b16962ea869c3 # v4
uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4
with:
platforms: 'linux/arm64'

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4

- name: Build and push
uses: docker/bake-action@6614cfa25eff9a0b2b2697efb0b6159e7680d584 # v7
uses: docker/bake-action@d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b # v7
id: build
env:
BUILDX_METADATA_PROVENANCE: disabled
environment: testing
registry: ghcr.io/${{ github.repository_owner }}
revision: ${{ github.sha }}
with:
files: ./${{ inputs.extension_name }}/metadata.hcl,./docker-bake.hcl
files: ./docker-bake.hcl,./${{ inputs.extension_name }}/metadata.hcl
push: true

# From bake's metadata, extract each unique tag (e.g. the ones with the timestamp)
Expand Down Expand Up @@ -94,7 +94,7 @@ jobs:
image: ${{fromJson(needs.testbuild.outputs.images)}}
steps:
- name: Checkout Code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
persist-credentials: false

Expand All @@ -107,6 +107,25 @@ jobs:
snyk_token: ${{ secrets.SNYK_TOKEN }}
dockerfile: "${{ inputs.extension_name }}/Dockerfile"

generate-smoke-test-matrix:
name: Generate matrix for smoke tests
runs-on: ubuntu-24.04
permissions: {}
outputs:
versions: ${{ steps.versions.outputs.versions }}
steps:
# main plus the latest and previous supported minor release branches.
- name: Compute CNPG release matrix
id: versions
env:
# renovate: datasource=github-tags depName=cloudnative-pg/cloudnative-pg versioning=semver-coerced extractVersion=^v(?<version>\d+\.\d+)\.\d+$
LATEST_RELEASE: "1.30"
run: |
PREVIOUS_RELEASE=$(awk -F. '{print $1"."$2-1}' <<< "$LATEST_RELEASE")
versions=$(jq -cn --arg latest "$LATEST_RELEASE" --arg previous "$PREVIOUS_RELEASE" \
'["main", $previous, $latest]')
echo "versions=$versions" >> "$GITHUB_OUTPUT"

smoke-test:
name: Smoke test
runs-on: ubuntu-24.04
Expand All @@ -115,24 +134,25 @@ jobs:
packages: read
needs:
- testbuild
- generate-smoke-test-matrix
strategy:
fail-fast: false
matrix:
image: ${{fromJson(needs.testbuild.outputs.images)}}
cnpg: ["main", "1.28", "1.29"]
cnpg: ${{fromJson(needs.generate-smoke-test-matrix.outputs.versions)}}
steps:
- name: Checkout Code
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
persist-credentials: false

- name: Install Task
uses: go-task/setup-task@01a4adf9db2d14c1de7a560f09170b6e0df736aa # v2.1.0
uses: go-task/setup-task@a00fbb05ce67b35648be3c78cbc9fd85354c757e # v2.2.0

- name: Install Dagger
env:
# renovate: datasource=github-tags depName=dagger/dagger versioning=semver
DAGGER_VERSION: 0.21.5
DAGGER_VERSION: 0.21.9
run: |
curl -L https://dl.dagger.io/dagger/install.sh | BIN_DIR=$HOME/.local/bin sh

Expand Down
54 changes: 54 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Dagger Module Unit tests

on:
push:
branches:
- main
paths:
- 'dagger/maintenance/**'
pull_request:
paths:
- 'dagger/maintenance/**'
workflow_dispatch:

defaults:
run:
shell: 'bash -Eeuo pipefail -x {0}'

permissions: {}

jobs:
unit-test:
name: Go unit tests
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
persist-credentials: false

- name: Set up Go
uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
with:
go-version-file: dagger/maintenance/go.mod
cache-dependency-path: dagger/maintenance/go.sum

- name: Generate the Dagger client
uses: dagger/dagger-for-github@27b130bf0f79a7f6fbbbe0fbca6760dc9bb40a77 # v8.4.1
env:
# renovate: datasource=github-tags depName=dagger/dagger versioning=semver
DAGGER_VERSION: 0.21.9
with:
version: ${{ env.DAGGER_VERSION }}
verb: develop
module: ./dagger/maintenance/

- name: Run unit tests
working-directory: dagger/maintenance
env:
# The generated Dagger client reads these at package init time. The
# unit tests never open a session, so dummy values are enough to get
# past the init check without contacting an engine.
DAGGER_SESSION_PORT: "1"
DAGGER_SESSION_TOKEN: "test"
run: go test ./...
8 changes: 4 additions & 4 deletions .github/workflows/update-catalogs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,12 @@ jobs:
id-token: write
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
persist-credentials: false

- name: Checkout artifacts
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
path: artifacts
repository: cloudnative-pg/artifacts
Expand All @@ -39,7 +39,7 @@ jobs:
uses: dagger/dagger-for-github@27b130bf0f79a7f6fbbbe0fbca6760dc9bb40a77 # v8.4.1
env:
# renovate: datasource=github-tags depName=dagger/dagger versioning=semver
DAGGER_VERSION: 0.21.5
DAGGER_VERSION: 0.21.9
with:
version: ${{ env.DAGGER_VERSION }}
verb: call
Expand All @@ -63,7 +63,7 @@ jobs:
git status
git diff --staged

- uses: EndBug/add-and-commit@290ea2c423ad77ca9c62ae0f5b224379612c0321 # v10
- uses: EndBug/add-and-commit@cc9c08ba6c8df3b93a8f2db63e89b98368ae2ae8 # v11
if: github.ref == 'refs/heads/main'
with:
cwd: 'artifacts'
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/update_os_libraries.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
extensions: ${{ steps.get-extensions.outputs.extensions }}
steps:
- name: Checkout repository
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
persist-credentials: false

Expand All @@ -28,7 +28,7 @@ jobs:
uses: dagger/dagger-for-github@27b130bf0f79a7f6fbbbe0fbca6760dc9bb40a77 # v8.4.1
env:
# renovate: datasource=github-tags depName=dagger/dagger versioning=semver
DAGGER_VERSION: 0.21.5
DAGGER_VERSION: 0.21.9
with:
version: ${{ env.DAGGER_VERSION }}
verb: call
Expand All @@ -53,10 +53,10 @@ jobs:
extension: ${{ fromJson(needs.fetch-extensions.outputs.extensions) }}
steps:
- name: Checkout repository
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7

- name: Log in to the GitHub Container registry
uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4
uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4
with:
registry: ghcr.io
username: ${{ github.actor }}
Expand All @@ -66,7 +66,7 @@ jobs:
uses: dagger/dagger-for-github@27b130bf0f79a7f6fbbbe0fbca6760dc9bb40a77 # v8.4.1
env:
# renovate: datasource=github-tags depName=dagger/dagger versioning=semver
DAGGER_VERSION: 0.21.5
DAGGER_VERSION: 0.21.9
with:
version: ${{ env.DAGGER_VERSION }}
verb: call
Expand Down
7 changes: 4 additions & 3 deletions BUILD.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,16 +60,17 @@ For more complex setups, you can use the `dagger` command directly to customize
distributions or package names:

```bash
dagger call -sm ./dagger/maintenance/ create --name="<name>" [ARGUMENTS]
dagger call -sm ./dagger/maintenance/ create --name="<name>" [ARGUMENTS] \
export --path ./<name>
```

**Common Arguments:**

| Argument | Description | Default |
| --- | --- | --- |
| `--distros` | Debian distributions the extension supports. | `[trixie, bookworm]` |
| `--distros` | Debian distributions the extension supports (comma separated list). | `[trixie, bookworm]` |
| `--package-name` | The Debian package name (uses `%version%` placeholder). | `postgresql-%version%-<name>` |
| `--versions` | Supported Postgres major versions. | `[18]` |
| `--versions` | Supported Postgres major versions (comma separated list). | `[18]` |
| `--templates-dir` | Source directory containing custom template files. | Internal template dir |

---
Expand Down
4 changes: 4 additions & 0 deletions CONTRIBUTING_NEW_EXTENSION.md
Original file line number Diff line number Diff line change
Expand Up @@ -301,6 +301,10 @@ Submission Requirements:
- **CODEOWNERS**: The PR must add an entry to the [`CODEOWNERS`](./CODEOWNERS)
file listing the GitHub handles of the component owner(s) for the new
extension folder.
- **SECURITY-INSIGHTS.yml**: The PR must add a `distribution-points` entry for
the new image under `repository.release` in
[`SECURITY-INSIGHTS.yml`](./SECURITY-INSIGHTS.yml), pointing to its GitHub
Packages page (using the `image_name` from `metadata.hcl`).

> [!IMPORTANT]
> When opening the Pull Request, use the **new extension** template, which
Expand Down
Loading