Skip to content

ci: Reach the database without su in the integration tests - #385

Merged
annvelents merged 1 commit into
mainfrom
fix/ci-psql-wolfi-image
Nov 5, 2026
Merged

annvelents merged 1 commit into
mainfrom
fix/ci-psql-wolfi-image

Conversation

@annvelents

Copy link
Copy Markdown
Contributor

Context

The integration-tests job starts getlago/lago:latest and runs su postgres -c "psql -d lago" to set the API key. Since the v1.57.0 release, latest is the Wolfi image from getlago/lago#852: it runs as uid 65532, has no postgres OS user, and its su is busybox without setuid. The step now fails with su: must be suid to work properly, which turned main red on the v1.57.0 bump (run) and blocks the Ruby client release.

Description

  • Call psql -h /tmp -U postgres -d lago directly. The image starts Postgres with its socket in /tmp and trusts local connections for the postgres role (docker/runner.sh in getlago/lago).

Checked by hand on a getlago/lago:v1.57.0 container: the new command connects, the old one fails with the same error as CI.

getlago/lago:latest is now the Wolfi image (getlago/lago#852). It runs as uid 65532 and its su is busybox without setuid, so `su postgres` fails with "must be suid to work properly". psql reaches the embedded cluster through its socket in /tmp as the postgres role, which trusts local connections.
@annvelents
annvelents merged commit a92a159 into main Nov 5, 2026
6 checks passed
@annvelents
annvelents deleted the fix/ci-psql-wolfi-image branch November 5, 2026 15:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants