Sign inSign up

elevarq/pgagroal

By elevarq

•Updated about 2 months ago

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

Image
Networking
1

3.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.5

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

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

⁠Verify

cosign verify elevarq/pgagroal:1.4.5 \
  --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_USERNAME—Optional; registers a pgagroal user for frontend auth
PG_PASSWORD—Password for PG_USERNAME
PGAGROAL_TLSoffEnable frontend TLS; provide PGAGROAL_TLS_CERT_FILE + PGAGROAL_TLS_KEY_FILE (see README)

⁠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:36017745e…

Size

31.6 MB

Last updated

about 2 months ago

docker pull elevarq/pgagroal