ci(ansible): phase 2b — pull from GitLab registry (per-service image vars)
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)
- Create GitLab deploy token (read_registry scope) + add to vault (gitlab_deploy_token_user + gitlab_deploy_token)
- group_vars per env: genie_ai_global_tag (main for test, release-el-salvador for el-salvador)
- docs: docker-swarm-setup.md + CLAUDE.md + env root template (SWARM_REGISTRY_URL → new vars)
- Confirm inventory 'swarm_managers' covers all nodes that need docker login
Net: -129 lines (removed build loop complexity).