Files
pad/docker-compose.build.yml
xarmian 9a7b38ed12 build(deploy): docker compose runs the released, signed image; k8s pins a release (TASK-2034) (#2031)
* build(deploy): docker compose runs the released, signed image; k8s pins a release (TASK-2034)

docker-compose.yml built this checkout, so every self-hoster ran an unpinned
source build that reports its version as "dev (unknown)". It now runs
ghcr.io/perpetualsoftware/pad:${PAD_VERSION:-latest}: the multi-arch image
the release pipeline builds and cosign-signs. `latest` moves only on stable
releases (goreleaser's tag template), so an unset PAD_VERSION never pulls an
RC. .env.example documents PAD_VERSION and recommends pinning it.

Contributors keep a source build through a new override,
docker-compose.build.yml, which tags the result pad:local so it never
shadows the released image.

deploy/k8s/deployment.yaml pins 0.17.2 instead of `latest`. With several
replicas (hpa.yaml), `latest` lets pods restarted after a release run a
different version from the rest against one database.

README and docs/deployment.md describe the pin, the upgrade
(`docker compose pull && up -d`) and the contributor build.

Claude-Session: https://claude.ai/code/session_01Q9WssCjFuHjSfLABoW4tmS

* build(deploy): the source-build override never pulls pad:local (TASK-2034, codex P3)

Claude-Session: https://claude.ai/code/session_01Q9WssCjFuHjSfLABoW4tmS
2026-10-10 18:20:15 -04:00

19 lines
679 B
YAML

# Pad — build this checkout instead of running the released image.
# Usage:
# docker compose -f docker-compose.yml -f docker-compose.build.yml up -d --build
#
# For contributors testing local changes. The base docker-compose.yml runs the
# released, signed image (TASK-2034); this override builds the Dockerfile in
# this directory and tags the result pad:local, so it never shadows the
# ghcr.io name a later `docker compose pull` would fetch. A source build
# reports its version as "dev".
services:
pad:
image: pad:local
# Build, never pull: pad:local exists only on this machine.
pull_policy: build
build:
context: .
dockerfile: Dockerfile