mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-12-02 15:39:57 +00:00
This commit introduces several improvements to the Matomo initialization workflow: - Moves the Matomo reachability check into sys-front-inj-all/tasks/01_dependencies.yml. - Ensures web-app-matomo is only initialized when the endpoint is unreachable. - Avoids condition inheritance on include_role by removing block-level when conditions. - Adds explicit guarding conditions (inj_enabled.matomo, run_once_web_app_matomo usage). - Ensures Matomo-dependent injections (CSS, Desktop, Logout, CDN) are skipped for Matomo itself. - Fixes incorrect status_code format (now using YAML list format). - Moves utils/run_once.yml to the top of 01_core.yml to prevent recursive re-invocation of web-app-matomo. - Cleans Matomo config/main.yml feature definitions and clarifies which features are disabled during initial bootstrap. - Removes legacy global Matomo bootstrap from 02_server.yml, centralizing logic in sys-front-inj-all. - Fixes typo in inj_enabled task name. This results in a robust, idempotent, recursion-safe Matomo bootstrap sequence that works across all injected web domains.
55 lines
1.7 KiB
YAML
55 lines
1.7 KiB
YAML
- block:
|
|
- name: Include dependency 'sys-svc-webserver-core'
|
|
include_role:
|
|
name: sys-svc-webserver-core
|
|
when: run_once_sys_svc_webserver_core is not defined
|
|
- include_tasks: utils/run_once.yml
|
|
when: run_once_sys_front_inj_all is not defined
|
|
|
|
- name: Build inj_enabled for '{{ domain }}'"
|
|
set_fact:
|
|
inj_enabled: "{{ applications | inj_enabled(application_id, SRV_WEB_INJ_COMP_FEATURES_ALL) }}"
|
|
|
|
- name: "Included dependent services"
|
|
include_tasks: 01_dependencies.yml
|
|
vars:
|
|
proxy_extra_configuration: ""
|
|
|
|
- name: Reinitialize 'inj_enabled' for '{{ domain }}', after loading the required webservices
|
|
set_fact:
|
|
inj_enabled: "{{ applications | inj_enabled(application_id, SRV_WEB_INJ_COMP_FEATURES_ALL) }}"
|
|
inj_head_features: "{{ SRV_WEB_INJ_COMP_FEATURES_ALL | inj_features('head') }}"
|
|
inj_body_features: "{{ SRV_WEB_INJ_COMP_FEATURES_ALL | inj_features('body') }}"
|
|
|
|
- name: "Load CDN Service for '{{ domain }}'"
|
|
include_role:
|
|
name: sys-svc-cdn
|
|
public: true
|
|
|
|
- name: "Activate logout proxy for '{{ domain }}'"
|
|
include_role:
|
|
name: sys-front-inj-logout
|
|
public: true
|
|
when: inj_enabled.logout
|
|
|
|
- name: "Activate Desktop iFrame notifier for '{{ domain }}'"
|
|
include_role:
|
|
name: sys-front-inj-desktop
|
|
public: true
|
|
when: inj_enabled.desktop
|
|
|
|
- name: "Activate Corporate CSS for '{{ domain }}'"
|
|
include_role:
|
|
name: sys-front-inj-css
|
|
when: inj_enabled.css
|
|
|
|
- name: "Activate Matomo Tracking for '{{ domain }}'"
|
|
include_role:
|
|
name: sys-front-inj-matomo
|
|
when: inj_enabled.matomo
|
|
|
|
- name: "Activate Javascript for '{{ domain }}'"
|
|
include_role:
|
|
name: sys-front-inj-javascript
|
|
when: inj_enabled.javascript
|