Files
computer-playbook/tasks/utils/load/app.yml
kevinveenbirkenbachandClaude Opus 5.5 d36e203171 fix(cache): render the applications carrier without the caller's application_id
`lookup('tls', ...)` aligns a cross-app domain to the consumer named by
`application_id` (utils/tls_common.py `align_domain_to_consumer`): a
clearnet-primary consumer gets the clearnet sibling of an onion-primary
target. The carrier key does not cover `application_id`, so a park that
renders inside a role hands that role's alignment to every later role
whose key matches.

The constructor and `tasks/utils/setup/role.yml` park at play scope,
where `application_id` is undefined. The re-park in
`roles/sys-token-store/tasks/write.yml` (67f6c8d7e8) and the nested-load
re-park render inside the caller: `svc-prx-openresty` at the preload
loader, `web-app-stalwart` or a provider role on the NFS host, the web
app itself under `sys-stk-front-base`. In a tor deploy that turned onion
targets into clearnet domains for onion-primary roles served from such a
park, and baked the caller's group into Nextcloud's sociallogin
`groupMapping`.

Drop `application_id` from the render's variables and from the
templar's for the duration of the render, so every park carries the
play-scope result the constructor parks have always carried. Rename the
nested re-park task so its log lines do not read as a role boundary.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-16 21:25:43 +02:00

21 lines
613 B
YAML

---
- name: "🐛 DEBUG | Loading parameters"
ansible.builtin.debug:
msg:
application_id: "{{ application_id | default('undefined') }}"
load_app_id: "{{ load_app_id }}"
when: MODE_DEBUG | bool
- name: "📥 Loading {{ load_app_id }}'"
include_role:
name: "{{ load_app_id }}"
public: false
vars:
application_id: "{{ load_app_id }}"
domain: "{{ lookup('domain', load_app_id) }}"
when:
- groups[load_app_id] is not defined or inventory_hostname in groups[load_app_id]
- name: "🧊 Carry the applications SPOT past nested {{ load_app_id }}"
applications_carrier: {}