---
- include_tasks: utils/once/flag.yml
- name: "π Stage the MCP adapter instance for {{ application_id }}"
ansible.builtin.include_tasks: "{{ lookup('path_absolute', 'roles/svc-ai-mcp-adapter/tasks/instance.yml') }}"
vars:
mcp_adapter_instance_dir: "{{ ZAMMAD_MCP_INSTANCE_DIR }}"
when: ZAMMAD_MCP_ENABLED | bool
- name: "π§© load docker, db and proxy for {{ application_id }}"
include_role:
name: sys-stk-full
vars:
compose_handlers_flush: false
- name: "π§± Rebuild the MCP adapter of {{ application_id }}"
ansible.builtin.include_tasks: "{{ lookup('path_absolute', 'roles/svc-ai-mcp-adapter/tasks/rebuild.yml') }}"
when: ZAMMAD_MCP_ENABLED | bool
- name: "π¬ Stage Zammad host-side init files (local + swarm peers)"
ansible.builtin.include_tasks:
file: "{{ lookup('path_absolute', 'roles/sys-svc-compose/tasks/utils/render_replicated_templates.yml') }}"
vars:
role_templates:
- src: "auto_wizard.json.j2"
dest: "{{ ZAMMAD_AUTO_WIZARD_HOST_PATH }}"
mode: "0644"
- src: "zz/omniauth_allow_get.rb.j2"
dest: "{{ ZAMMAD_OMNIAUTH_INIT_HOST_PATH }}"
mode: "0644"
- src: "telegram_helper_stub.rb.j2"
dest: "{{ ZAMMAD_TELEGRAM_HELPER_HOST_PATH }}"
mode: "0644"
- src: "zz/network_origins.rb.j2"
dest: "{{ ZAMMAD_NETWORK_ORIGINS_HOST_PATH }}"
mode: "0644"
- src: "zz/oidc/group_role_mapping.rb.j2"
dest: "{{ ZAMMAD_OIDC_GROUP_ROLE_MAP_HOST_PATH }}"
mode: "0644"
condition: "{{ ZAMMAD_OIDC_ENABLED }}"
- src: "zz/oidc/http_discovery.rb.j2"
dest: "{{ ZAMMAD_OIDC_HTTP_DISCOVERY_HOST_PATH }}"
mode: "0644"
condition: "{{ ZAMMAD_OIDC_ENABLED and ZAMMAD_HTTP_ONLY_ENABLED }}"
- name: "π Zammad manager-side operations (file deploys + container exec)"
include_tasks: 01_manager_ops.yml
when: IS_STACK_HOST | bool
- name: "πΏ Flush compose handlers for {{ application_id }}"
ansible.builtin.meta: flush_handlers