checkmk_deploy_agent/tasks/Win32NT-files.yml

137 lines
5.5 KiB
YAML
Raw Permalink Normal View History

2025-12-01 11:50:37 +01:00
---
- name: "{{ ansible_system }}: Download Vanilla {{ checkmk_agent_edition | upper }} Agent."
ansible.windows.win_get_url:
url: "{{ __checkmk_agent_agent.url.cre }}"
validate_certs: "{{ checkmk_agent_server_validate_certs | bool }}"
dest: "{{ __checkmk_agent_agent.file.cre }}"
timeout: "{{ checkmk_agent_download_timeout | default(omit) }}"
when: checkmk_agent_edition | lower == "cre"
register: __checkmk_agent_vanilla_download_state
retries: 3
delay: 10
until: "not __checkmk_agent_vanilla_download_state.failed | bool"
delegate_to: "{{ checkmk_agent_delegate_download }}"
tags:
- download-package
- name: "{{ ansible_system }}: Download host-specific {{ checkmk_agent_edition | upper }} Agent."
ansible.windows.win_get_url:
url:
"{{ __checkmk_agent_agent.url.cee }}?\
host_name={{ checkmk_agent_host_name }}&\
os_type={{ __checkmk_agent_files_mapping[ansible_os_family] }}&\
agent_type=host_name"
validate_certs: "{{ checkmk_agent_server_validate_certs | bool }}"
dest: "{{ __checkmk_agent_agent.file.host }}"
method: GET
headers:
Authorization: "Bearer {{ checkmk_agent_user }} {{ __checkmk_agent_auth }}"
Accept: "application/octet-stream"
timeout: "{{ checkmk_agent_download_timeout | default(omit) }}"
when: |
checkmk_agent_edition | lower != "cre"
become: false
register: __checkmk_agent_host_download_state
# This task may fail, as we fall back to the generic agent in that case
failed_when: 'false'
changed_when: __checkmk_agent_host_download_state.status_code is defined and __checkmk_agent_host_download_state.status_code == 200
delegate_to: "{{ checkmk_agent_delegate_download }}"
tags:
- download-package
- name: "{{ ansible_system }}: Set Fact: Agent State: host-specific."
ansible.builtin.set_fact:
checkmk_agent_host_specific: >-
{{ (__checkmk_agent_host_download_state.status_code is defined and __checkmk_agent_host_download_state.status_code == 200) | bool }}
tags:
- download-package
- name: "{{ ansible_system }}: Download folder-specific {{ checkmk_agent_edition | upper }} Agent."
ansible.windows.win_get_url:
url:
"{{ __checkmk_agent_agent.url.cee }}?\
os_type={{ __checkmk_agent_files_mapping[ansible_os_family] }}&\
folder_name={{ checkmk_agent_folder }}&\
agent_type=generic"
validate_certs: "{{ checkmk_agent_server_validate_certs | bool }}"
dest: "{{ __checkmk_agent_agent.file.cee }}"
method: GET
headers:
Authorization: "Bearer {{ checkmk_agent_user }} {{ __checkmk_agent_auth }}"
Accept: "application/octet-stream"
timeout: "{{ checkmk_agent_download_timeout | default(omit) }}"
become: false
register: __checkmk_agent_folder_download_state
when: |
checkmk_agent_edition | lower != "cre"
and checkmk_agent_folder is defined
and not checkmk_agent_host_specific | bool
retries: 3
# This task may fail, as we fall back to the generic agent in that case
failed_when: 'false'
changed_when: __checkmk_agent_folder_download_state.status_code is defined and __checkmk_agent_folder_download_state.status_code == 200
delegate_to: "{{ checkmk_agent_delegate_download }}"
tags:
- download-package
- name: "{{ ansible_system }}: Set Fact: Agent State: folder-specific."
ansible.builtin.set_fact:
checkmk_agent_folder_specific: >-
{{ (__checkmk_agent_folder_download_state.status_code is defined and __checkmk_agent_folder_download_state.status_code == 200) | bool }}
tags:
- download-package
- name: "{{ ansible_system }}: Download GENERIC {{ checkmk_agent_edition | upper }} Agent."
ansible.windows.win_get_url:
url:
"{{ __checkmk_agent_agent.url.cee }}?\
os_type={{ __checkmk_agent_files_mapping[ansible_os_family] }}&\
agent_type=generic"
validate_certs: "{{ checkmk_agent_server_validate_certs | bool }}"
dest: "{{ __checkmk_agent_agent.file.cee }}"
method: GET
headers:
Authorization: "Bearer {{ checkmk_agent_user }} {{ __checkmk_agent_auth }}"
Accept: "application/octet-stream"
timeout: "{{ checkmk_agent_download_timeout | default(omit) }}"
become: false
when: |
checkmk_agent_edition | lower != "cre"
and not (checkmk_agent_host_specific | bool or checkmk_agent_folder_specific | bool)
retries: 3
delegate_to: "{{ checkmk_agent_delegate_download }}"
tags:
- download-package
- name: "{{ ansible_system }}: Transfer host-specific {{ checkmk_agent_edition | upper }} Agent."
ansible.windows.win_copy:
src: "{{ __checkmk_agent_agent.file.host }}"
dest: "{{ __checkmk_agent_agent.file.host }}"
when: |
checkmk_agent_edition | lower != "cre"
and checkmk_agent_host_specific | bool
and checkmk_agent_delegate_download != inventory_hostname
tags:
- download-package
- name: "{{ ansible_system }}: Transfer GENERIC or folder-specific {{ checkmk_agent_edition | upper }} Agent."
ansible.windows.win_copy:
src: "{{ __checkmk_agent_agent.file.cee }}"
dest: "{{ __checkmk_agent_agent.file.cee }}"
when: |
checkmk_agent_edition | lower != "cre"
and not checkmk_agent_host_specific | bool
and checkmk_agent_delegate_download != inventory_hostname
tags:
- download-package
- name: "{{ ansible_system }}: Transfer Vanilla {{ checkmk_agent_edition | upper }} Agent."
ansible.windows.win_copy:
src: "{{ __checkmk_agent_agent.file.cre }}"
dest: "{{ __checkmk_agent_agent.file.cre }}"
when: |
checkmk_agent_edition | lower == "cre"
and checkmk_agent_delegate_download != inventory_hostname
tags:
- download-package