mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-08 11:46:35 +00:00
GitLab 19.0.0-ee.0 puma crash-loops with `NameError: uninitialized constant Gitlab::Redis::ALL_CLASSES` whenever omniauth is not configured. The instrumentation/redis.rb autoloads before lib/gitlab/redis.rb has the chance to define the constant; with OIDC enabled the omniauth gem eager-loads gitlab/redis first and silences the race. Without OIDC (variant 1/2) the race is deterministic and the deploy aborts at hlth-webserver because lab.git returns 502. - New plain `files/Dockerfile` prepends `require_relative "../redis"` to `lib/gitlab/instrumentation/redis.rb`. Image/version arrive via `ARG GITLAB_IMAGE` / `ARG GITLAB_VERSION` forwarded from compose `build.args`, so `meta/services.yml` stays the single source of truth. - `templates/compose.yml.j2` now builds `GITLAB_CUSTOM_IMAGE` locally instead of pulling, with `pull_policy: never` and `build.args`. - `vars/main.yml` adds `entity_name` and `GITLAB_CUSTOM_IMAGE`. - `meta/services.yml` pins GitLab to `19.0.0-ee.0` (current latest stable on Docker Hub) to make the patch reproducible. Verified in-container: hand-applying the same require_relative makes puma boot listening; `INFINITO_VARIANT=1 make compose-deploy mode=update apps=web-app-gitlab` builds the patched image and Playwright passes 2 / 4 skipped for gitlab variant 1.