--- - name: "Enable & start Checkmk socket (if present)" listen: "checkmk | linux | agent-ensure-running" when: ansible_facts['os_family'] != "Windows" ansible.builtin.systemd: name: "{{ checkmk_linux_socket_name }}" enabled: true state: started daemon_reload: true failed_when: false - name: "Enable & start Checkmk service (fallback/if present)" listen: "checkmk | linux | agent-ensure-running" when: ansible_facts['os_family'] != "Windows" ansible.builtin.systemd: name: "{{ checkmk_linux_service_name }}" enabled: true state: started daemon_reload: true failed_when: false - name: "Windows | Detect Checkmk service name" listen: "checkmk | windows | agent-ensure-running" when: ansible_facts['os_family'] == "Windows" ansible.windows.win_powershell: script: | $candidates = @('CheckMkService','Check_MK_Agent') foreach ($n in $candidates) { $svc = Get-Service -Name $n -ErrorAction SilentlyContinue if ($svc) { $svc.Name; break } } register: cmk_detect failed_when: false - name: "Windows | Set detected service name" listen: "checkmk | windows | agent-ensure-running" when: ansible_facts['os_family'] == "Windows" ansible.builtin.set_fact: cmk_service_name: >- {{ (cmk_detect.output[0] | default('') | trim) if (cmk_detect.output | default([]) | length > 0) else (checkmk_windows_service_name | default('CheckMkService')) }} - name: "Windows | Ensure Checkmk agent service running" listen: "checkmk | windows | agent-ensure-running" when: - ansible_facts['os_family'] == "Windows" - (cmk_service_name | default('')) | length > 0 ansible.windows.win_service: name: "{{ cmk_service_name }}" start_mode: auto state: started failed_when: false