--- - name: 🔍 Resolve systemctl template source set_fact: system_service_template_src: >- {{ lookup( 'first_found', { 'files': [ 'templates/systemctl@.service.j2', 'templates/systemctl.service.j2' ], 'paths': [ system_service_role_dir, role_path ] }, errors='strict' ) }} - name: ✅ Ensure a systemctl template was found assert: that: system_service_template_src | length > 0 fail_msg: >- Could not resolve any systemctl template. Looked in: {{ system_service_role_dir }}/templates/ and {{ role_path }}/templates/. when: MODE_ASSERT | bool - name: "🔧 setup systemctl '{{ system_service_id }}'" template: # nocheck: stack-host-template (per-host systemd service unit) src: "{{ system_service_template_src }}" dest: "{{ [ system_service_unit_dir, system_service_name ] | path_join }}" owner: "{{ system_service_unit_owner }}" group: "{{ system_service_unit_owner }}" mode: "0644" become: "{{ system_service_unit_become }}" notify: "{{ 'reload-system-daemon' if system_service_is_template | bool else 'refresh-systemctl-service' }}" - name: 🔄 refresh systemctl service when SYS_SERVICE_ALL_ENABLE block: - name: 🔄 reload system daemon command: /bin/true notify: reload-system-daemon - name: 🔄 refresh systemctl service command: /bin/true notify: refresh-systemctl-service when: not system_service_is_template | bool when: system_service_force_flush_instant | bool