Files
computer-playbook/roles/web-app-matomo/tasks/utils/resolve/host_cid.yml
kevinveenbirkenbachandClaude Opus 5 673e994aa7 feat(lint): pin type and resolver on every container inspect
An untyped inspect searches every docker object kind, and a role's overlay network carries the same entity name as its main container, so the call can resolve the network and report a missing State key instead of naming the container. That is how the openresty assert died on every swarm job of run 30709070050.

Extend container-exec-resolver to cover inspect, stripping raw markers and quoted spans first so the flag walker survives Go template format strings. Add container-inspect-type, scoped to roles/ because the collision follows the entity naming convention and the outer act namespace carries no role networks. Sweep 40 call sites; suppress the delegate_to-resolved CIDs and the compose co-location probes with a stated reason.

Move the five container rules into tests/lint/ansible/shell/container/ and drop the container_ prefix from their filenames. Register both markers in the suppression docs, where the resolver marker was missing entirely.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-01 20:51:56 +02:00

20 lines
807 B
YAML

---
- name: "⏳ Matomo resolve | Wait for matomo container to be running"
ansible.builtin.shell: >
container inspect --type container -f '{{ "{{" }}.State.Running{{ "}}" }}'
{{ lookup('container_address', application_id, MATOMO_SERVICE) }}
register: matomo_running_compose
changed_when: false
retries: 150
delay: 2
until: >
matomo_running_compose.rc == 0 and (matomo_running_compose.stdout | trim) == 'true'
when: DEPLOYMENT_MODE == 'compose'
- name: "🔍 Resolve {{ application_id }} hosting node + container id"
ansible.builtin.include_tasks: "{{ lookup('path_absolute', 'roles/sys-svc-compose/tasks/utils/swarm/resolve_host_cid.yml') }}"
vars:
resolve_service_key: "{{ MATOMO_SERVICE }}"
resolve_output_prefix: MATOMO
resolve_compose_cid: "{{ MATOMO_NAME }}"