Files
computer-playbook/roles/web-app-gitlab
kevinveenbirkenbach a90b3f15a6 fix(web-app-gitlab): pin 19.0.0-ee.0 and patch redis autoload race via custom Dockerfile
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.
2026-05-25 13:42:54 +02:00
..
…

GitLab

Description

Accelerate your development with GitLab, an all-in-one platform for source code management, CI/CD, and more. Experience a robust and collaborative environment that empowers your development process.

Overview

This role deploys GitLab using Docker, automating the installation, configuration, and management of your GitLab server. It integrates with an external PostgreSQL database and sets up an NGINX reverse proxy, streamlining your GitLab deployment through efficient container orchestration and customizable Ansible variables.

Features

  • GitLab Installation: Automatically deploys GitLab within a Docker container.
  • External PostgreSQL Database: Configures GitLab to connect to an external PostgreSQL database.
  • NGINX Reverse Proxy Integration: Simplifies secure access with an NGINX reverse proxy.
  • Customizable Configuration: Easily tailor deployment settings using Ansible variables and templates.

Further Resources

Credits

Developed and maintained by Kevin Veen-Birkenbach. Learn more at veen.world. Part of the Infinito.Nexus Project. Licensed under the Infinito.Nexus Community License (Non-Commercial).