Skip to content

ci(ansible): phase 2b — pull from GitLab registry (per-service image vars)

Jérôme Revillard requested to merge ci/phase2b-ansible-gitlab-registry into main

What

Replaces local docker build + push to localhost:5000 with pulling pre-built CI images from the GitLab Container Registry. Deployments no longer build — they pull.

Changes

  • docker-compose.yaml: 16 services use per-service env vars (${GENIE_AI_<SVC>_IMAGE}:${GENIE_AI_<SVC>_IMAGE_TAG:-${GENIE_AI_GLOBAL_TAG}}) instead of global SWARM_REGISTRY_URL + IMAGE_TAG. tempo-proxy naming fixed.
  • env.j2: generates GENIE_AI_REGISTRY + GLOBAL_TAG + per-service IMAGE/_TAG from genieai_images list. Supports per-image tag overrides.
  • deploy-shared-facts.yml: swarm_registry_url default → GitLab registry; genie_ai_global_tag (default 'main'); genieai_images list (16).
  • deploy.yml: removed build+push loop → Docker login to GitLab registry.

Follow-up (before deploy)

  1. Create GitLab deploy token (read_registry scope) + add to vault (gitlab_deploy_token_user + gitlab_deploy_token)
  2. group_vars per env: genie_ai_global_tag (main for test, release-el-salvador for el-salvador)
  3. docs: docker-swarm-setup.md + CLAUDE.md + env root template (SWARM_REGISTRY_URL → new vars)
  4. Confirm inventory 'swarm_managers' covers all nodes that need docker login

Net: -129 lines (removed build loop complexity).

Merge request reports

Loading