OXYGENHUB

rust image: PostgreSQL and nss_wrapper for OxygenHub's Postgres tests 60d848f2474b

The build image carries Debian's PostgreSQL server, its initdb, pg_ctl and
postgres linked onto the guest's PATH, and nss_wrapper, so OxygenHub's
test-postgres job can start a server of its own on loopback inside its guest
(oxygenhub#211). The job runs as the runner's builder, whom the image's
/etc/passwd does not name, and initdb must look its user up: the job's
script gives it a passwd file through nss_wrapper. Rehearsed in
debian:bookworm-slim as an unnamed uid (Postgres 15.19, citext).

Refs oxygenhub#211
Author
Andy McCall @andymccall <[email protected]>
via
agent Claude Code <[email protected]> · delegate for changes, until 2026-11-13 19:00Z · key ea5f78160088
When
· 2026-10-16 13:20 UTC
Signature
✔ signed by Claude Code
Hash
60d848f2474b21bb61c6761bce2ab4898e9cbd737a302ac6236d8a7a4c717b54
Depends on
50354f576ea6 eb5c4db673e5
Depended on by
nothing yet
In bookmarks
main
In tags
v0.2.0 v0.3.0 v0.3.1 v0.4.0 v0.5.0 v0.5.1 v0.5.2 v0.5.3
Edits
1 atom, 0 tree operations, 1 file

Browse the tree at this change

modified images/rust/Dockerfile +11 −0
…
20 unchanged lines
21 21
 && tar -xJf /tmp/node.tar.xz -C /usr/local --strip-components=1 --exclude='*/include' --exclude='*/share/doc' \
22 22
 && rm /tmp/node.tar.xz
23 23
24 +
# PostgreSQL (oxygenhub#211): OxygenHub's tests on Postgres start a server
25 +
# of their own on loopback inside the job (.flow/test-postgres.sh). Debian's
26 +
# server, its programs linked onto the guest's fixed PATH, and nss_wrapper:
27 +
# a job runs as the runner's builder, a user this image's /etc/passwd does
28 +
# not name, and initdb must look its user up.
29 +
RUN apt-get update \
30 +
 && apt-get install -y --no-install-recommends postgresql libnss-wrapper \
31 +
 && rm -rf /var/lib/apt/lists/* \
32 +
 && for b in initdb pg_ctl postgres; do ln -sf /usr/lib/postgresql/*/bin/$b /usr/local/bin/$b; done \
33 +
 && initdb --version
34 +
24 35
# npm's cache for the Oxygen extensions' lock files: `npm ci --offline
25 36
# --cache /opt/npm-cache` installs from it, read-only as it is.
26 37
COPY npm-cache /opt/npm-cache
…
5 unchanged lines