- Dockerfile 100%
|
All checks were successful
build / pg18 (push) Successful in 36m8s
I'd been building cnpg-age on PG16/Bookworm, assuming the CNPG cluster was
on PG16. It's actually running ghcr.io/cloudnative-pg/postgresql:18.0-
system-trixie — the imageName field had been left empty in the cluster
spec, so CNPG used its current default and rolled forward to PG18.
Updates:
- Build stage: debian:trixie-slim, pgdg's trixie-pgdg apt repo,
postgresql-server-dev-18.
- Runtime stage: ghcr.io/cloudnative-pg/postgresql:18.0-system-trixie.
- AGE: PG18/v1.7.0-rc0 (the only AGE tag for PG18 today).
- Workflow: pg16 job replaced with pg18 (Solstice has no matrix anyway).
- README updated.
Tags now: 18-v1.7.0-rc0, 18-latest, latest.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
||
|---|---|---|
| .forgejo/workflows | ||
| .dockerignore | ||
| .gitignore | ||
| Dockerfile | ||
| LICENSE | ||
| README.md | ||
cnpg-age
CloudNativePG operand image with Apache AGE bundled.
The upstream CNPG image ships pgvector and the usual extension family but not AGE — AGE has to be compiled against the matching postgresql-server-dev. This repo does that, packages the result on top of the CNPG base, and pushes to code.aopc.cloud/toasterson/cnpg-age.
Tags
| Tag | What it means |
|---|---|
<pg>-<age> |
Fully pinned. Use this in production Cluster resources. |
<pg>-latest |
Latest AGE for that PG major. Floating. |
latest |
Currently 18-v1.7.0-rc0. Floating. |
Apache AGE only publishes
-rc0tags per PG major (no finalizedv*.*release as of 2026-04). PG18 →v1.7.0-rc0.
Usage
In a CNPG Cluster:
spec:
imageName: code.aopc.cloud/toasterson/cnpg-age:18-v1.7.0-rc0
postgresql:
parameters:
shared_preload_libraries: "age"
Then in any database that wants graphs:
CREATE EXTENSION IF NOT EXISTS age;
LOAD 'age';
SET search_path = ag_catalog, "$user", public;
SELECT create_graph('your_graph');
Build
.forgejo/workflows/build.yml builds one target per push:
18-v1.7.0-rc0— also tagged18-latestandlatest
The image extends ghcr.io/cloudnative-pg/postgresql:18.0-system-trixie (CNPG's PG18 + Trixie operand). The build stage uses debian:trixie-slim + pgdg's trixie-pgdg apt repo to compile AGE against the matching ABI. To build for a different PG major, add another job analogous to pg18: when there's a consumer.
License
Apache-2.0 (matches Apache AGE upstream).