elevarq/pgagroal

By elevarq

Updated 4 days ago

Production-grade pgagroal PostgreSQL connection pooler — signed, multi-arch, SBOM-attested.

Image
Networking
1

1.8K

elevarq/pgagroal repository overview

Elevarq pgAgroal

Production-grade container image for pgagroal — a high-performance PostgreSQL connection pooler. Built from source, signed, SBOM-attested, multi-arch. (Elevarq pgAgroal is the product; pgagroal is the upstream pooler it bundles.)

Why this image

  • Reproducible builds from pinned source (pgagroal 2.1.0, Debian bookworm).
  • Multi-arch manifests: linux/amd64 and linux/arm64.
  • Signed with cosign (keyless, GitHub OIDC) on every release.
  • SBOM + SLSA provenance attached as OCI attestations.
  • Hardened runtime: non-root (UID 1000), all capabilities dropped, read-only root filesystem, seccomp RuntimeDefault.
  • Configuration via environment variables — no config files to mount.
  • Aligned with SOC 2 / ISO 27001 engineering practices.

Quick start

docker pull elevarq/pgagroal:1.4.4

docker run -d --name pgagroal \
  -p 6432:6432 \
  -e PG_BACKEND_HOST=your-postgres-host \
  -e PG_BACKEND_PORT=5432 \
  elevarq/pgagroal:1.4.4

psql -h localhost -p 6432 -U youruser -d yourdb -c 'SELECT 1;'

Verify

cosign verify elevarq/pgagroal:1.4.4 \
  --certificate-identity-regexp "https://github.com/Elevarq/pgAgroal/.*" \
  --certificate-oidc-issuer "https://token.actions.githubusercontent.com"

Required ports

PortPurpose
6432pgagroal listener (PostgreSQL wire protocol)
9187Prometheus metrics (optional, disabled by default)

Minimal configuration

All configuration is via environment variables. Defaults are production-safe.

VariableDefaultPurpose
PG_BACKEND_HOSTpostgresUpstream PostgreSQL host
PG_BACKEND_PORT5432Upstream PostgreSQL port
PGAGROAL_PORT6432pgagroal listen port
PGAGROAL_HOST*pgagroal bind address
MAX_CONNECTIONS100Max pooled connections
PGAGROAL_LOG_LEVELinfoLog level
PG_USERNAMEOptional; registers a pgagroal user for frontend auth
PG_PASSWORDPassword for PG_USERNAME

Metrics

pgagroal ships a built-in Prometheus exporter. Enable it by exposing port 9187 and scraping /metrics. In the Helm chart this is metrics.enabled=true.

Versioning and tags

Tags follow the project version in VERSION, not the upstream pgagroal version.

TagMeaning
1.3.0Exact release — pin this in production
1.1Latest patch of the 1.1 line
latestMost recent stable release — convenience only

Only CI publishes tags. latest is a multi-arch manifest updated on every release.

Helm chart

The Helm chart is published as an OCI artifact to GHCR alongside each release, so it installs by reference (the chart version matches the image tag):

helm install pgagroal oci://ghcr.io/elevarq/charts/pgagroal --version 1.3.0

The chart is cosign-signed with the same keyless GitHub OIDC identity as the image.

Documentation

Source and issues

Licensed under BSD-3-Clause. Contains unmodified pgagroal from pgagroal/pgagroal.

Tag summary

Content type

Image

Digest

sha256:2f1060285

Size

992 Bytes

Last updated

4 days ago

docker pull elevarq/pgagroal:sha256-749e3afc534af0c51dec128c7b229f8126d1cabdbea530d68e0ba9bf22a45928.sig