---
- name: "π©Ί Complete an MCP initialize handshake against the sidecar"
ansible.builtin.shell:
cmd: | # nocheck: container-exec-resolver runtime-resolved CID, delegated to the hosting node
container exec -i {{ GITEA_API_LOCAL_CID | quote }} \
{{ lookup('timeout', 30) | curl(5, 0) }} -f -o /dev/null \
-X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-H @- \
--data-binary {{ GITEA_MCP_INITIALIZE_PAYLOAD | to_json | quote }} \
{{ GITEA_MCP_SIDECAR_URL | quote }}
stdin: "Authorization: Bearer {{ gitea_mcp_token }}"
register: gitea_mcp_endpoint_probe
changed_when: false
retries: 30
delay: 2
until: gitea_mcp_endpoint_probe.rc == 0
delegate_to: "{{ GITEA_API_HOST_NODE }}"
run_once: true
no_log: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}"