aim-web2.1.0rc9
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
# checkmk_agent
|
||||
|
||||
Operator defaults are intentionally low-precedence; inventory and explicit run options may override them.
|
||||
|
||||
```yaml
|
||||
---
|
||||
|
||||
checkmk_linux_tmp_path: /tmp
|
||||
checkmk_windows_tmp_path: C:\Windows\Temp
|
||||
checkmk_deb_filename: check-mk-agent.deb
|
||||
checkmk_rpm_filename: check-mk-agent.rpm
|
||||
checkmk_msi_filename: check_mk_agent.msi
|
||||
checkmk_agent_files_dir: '{{ lookup(''ansible.builtin.env'', ''AIM_CHECKMK_AGENT_FILES_DIR'') | default(role_path
|
||||
~ ''/files'', true) }}'
|
||||
```
|
||||
|
||||
## Structured result integration
|
||||
|
||||
Current reporting behavior and field semantics are specified in
|
||||
[scripts/docs/OPERATION_RESULTS.md](../../scripts/docs/OPERATION_RESULTS.md).
|
||||
The calling catalog playbook owns publication; helper roles do not implicitly export
|
||||
arbitrary facts, module results or debug data. Existing defaults above retain their
|
||||
precedence. See the current validation/sanity documents before using the new candidate.
|
||||
@@ -1,9 +1,9 @@
|
||||
---
|
||||
checkmk_linux_tmp_path: "/tmp"
|
||||
checkmk_windows_tmp_path: "C:\\Windows\\Temp"
|
||||
checkmk_deb_filename: "check-mk-agent.deb"
|
||||
checkmk_rpm_filename: "check-mk-agent.rpm"
|
||||
checkmk_msi_filename: "check_mk_agent.msi"
|
||||
checkmk_linux_socket_name: "check-mk-agent.socket"
|
||||
checkmk_linux_service_name: "check-mk-agent"
|
||||
checkmk_windows_service_name: "CheckMkService"
|
||||
|
||||
checkmk_linux_tmp_path: /tmp
|
||||
checkmk_windows_tmp_path: C:\Windows\Temp
|
||||
checkmk_deb_filename: check-mk-agent.deb
|
||||
checkmk_rpm_filename: check-mk-agent.rpm
|
||||
checkmk_msi_filename: check_mk_agent.msi
|
||||
checkmk_agent_files_dir: '{{ lookup(''ansible.builtin.env'', ''AIM_CHECKMK_AGENT_FILES_DIR'') | default(role_path
|
||||
~ ''/files'', true) }}'
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
Place the Checkmk agent packages here:
|
||||
# Staged agent packages
|
||||
|
||||
- `check-mk-agent.deb`
|
||||
- `check-mk-agent.rpm`
|
||||
- `check_mk_agent.msi`
|
||||
AIM Maintenance populates `check_mk_agent.msi`, `check-mk-agent.deb` and `check-mk-agent.rpm` here by default. Binaries are not included or replaced by this source bundle. Existing package files must be retained.
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
---
|
||||
- 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
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
galaxy_info:
|
||||
role_name: checkmk_agent
|
||||
description: Install Checkmk agent from local packages
|
||||
min_ansible_version: "2.18"
|
||||
dependencies: []
|
||||
@@ -1,11 +0,0 @@
|
||||
---
|
||||
- name: "Debian | Copy Checkmk agent package"
|
||||
ansible.builtin.copy:
|
||||
src: "{{ checkmk_deb_filename }}"
|
||||
dest: "{{ checkmk_linux_tmp_path }}/{{ checkmk_deb_filename }}"
|
||||
mode: "0644"
|
||||
|
||||
- name: "Debian | Install Checkmk agent"
|
||||
ansible.builtin.apt:
|
||||
deb: "{{ checkmk_linux_tmp_path }}/{{ checkmk_deb_filename }}"
|
||||
notify: "checkmk | linux | agent-ensure-running"
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
|
||||
- name: Checkmk | Verify staged package on controller
|
||||
ansible.builtin.stat:
|
||||
path: '{{ checkmk_agent_files_dir }}/{{ checkmk_deb_filename }}'
|
||||
delegate_to: localhost
|
||||
become: false
|
||||
register: _checkmk_package
|
||||
- name: Checkmk | Require staged package
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- _checkmk_package.stat.isreg | default(false)
|
||||
- _checkmk_package.stat.size | default(0) | int > 0
|
||||
fail_msg: Required agent package is absent/empty. Use AIM Maintenance to download packages first.
|
||||
quiet: true
|
||||
- name: Debian | Copy Checkmk agent package from role files
|
||||
ansible.builtin.copy:
|
||||
src: '{{ checkmk_agent_files_dir }}/{{ checkmk_deb_filename }}'
|
||||
dest: '{{ checkmk_linux_tmp_path }}/{{ checkmk_deb_filename }}'
|
||||
mode: '0644'
|
||||
- name: Debian | Install Checkmk agent from local .deb
|
||||
ansible.builtin.apt:
|
||||
deb: '{{ checkmk_linux_tmp_path }}/{{ checkmk_deb_filename }}'
|
||||
state: present
|
||||
register: _checkmk_package_install
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
|
||||
- name: Checkmk | Verify staged package on controller
|
||||
ansible.builtin.stat:
|
||||
path: '{{ checkmk_agent_files_dir }}/{{ checkmk_rpm_filename }}'
|
||||
delegate_to: localhost
|
||||
become: false
|
||||
register: _checkmk_package
|
||||
- name: Checkmk | Require staged package
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- _checkmk_package.stat.isreg | default(false)
|
||||
- _checkmk_package.stat.size | default(0) | int > 0
|
||||
fail_msg: Required agent package is absent/empty. Use AIM Maintenance to download packages first.
|
||||
quiet: true
|
||||
- name: RedHat | Copy Checkmk agent package from role files
|
||||
ansible.builtin.copy:
|
||||
src: '{{ checkmk_agent_files_dir }}/{{ checkmk_rpm_filename }}'
|
||||
dest: '{{ checkmk_linux_tmp_path }}/{{ checkmk_rpm_filename }}'
|
||||
mode: '0644'
|
||||
- name: RedHat | Install Checkmk agent from local .rpm
|
||||
ansible.builtin.dnf:
|
||||
name: '{{ checkmk_linux_tmp_path }}/{{ checkmk_rpm_filename }}'
|
||||
state: present
|
||||
register: _checkmk_package_install
|
||||
@@ -1,12 +1,17 @@
|
||||
---
|
||||
- name: Include Debian installation
|
||||
ansible.builtin.include_tasks: debian.yml
|
||||
when: ansible_facts['os_family'] == 'Debian'
|
||||
|
||||
- name: Include RedHat installation
|
||||
ansible.builtin.include_tasks: redhat.yml
|
||||
when: ansible_facts['os_family'] == 'RedHat'
|
||||
|
||||
- name: Include Windows installation
|
||||
- name: Checkmk | Supported installer
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- ansible_facts.os_family in ['Debian','RedHat','Windows']
|
||||
fail_msg: Unsupported installer platform. No Python/package-manager bootstrap is performed.
|
||||
quiet: true
|
||||
- name: Include Debian tasks
|
||||
ansible.builtin.include_tasks: linux_debian.yml
|
||||
when: ansible_facts['os_family'] == "Debian"
|
||||
- name: Include RedHat tasks
|
||||
ansible.builtin.include_tasks: linux_redhat.yml
|
||||
when: ansible_facts['os_family'] == "RedHat"
|
||||
- name: Include Windows tasks
|
||||
ansible.builtin.include_tasks: windows.yml
|
||||
when: ansible_facts['os_family'] == 'Windows'
|
||||
when: ansible_facts['os_family'] == "Windows"
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
---
|
||||
- name: "RedHat | Copy Checkmk agent package"
|
||||
ansible.builtin.copy:
|
||||
src: "{{ checkmk_rpm_filename }}"
|
||||
dest: "{{ checkmk_linux_tmp_path }}/{{ checkmk_rpm_filename }}"
|
||||
mode: "0644"
|
||||
|
||||
- name: "RedHat | Install Checkmk agent"
|
||||
ansible.builtin.package:
|
||||
name: "{{ checkmk_linux_tmp_path }}/{{ checkmk_rpm_filename }}"
|
||||
state: present
|
||||
notify: "checkmk | linux | agent-ensure-running"
|
||||
@@ -1,11 +1,28 @@
|
||||
---
|
||||
- name: "Windows | Copy Checkmk agent MSI"
|
||||
ansible.windows.win_copy:
|
||||
src: "{{ checkmk_msi_filename }}"
|
||||
dest: "{{ checkmk_windows_tmp_path }}\\{{ checkmk_msi_filename }}"
|
||||
|
||||
- name: "Windows | Install Checkmk agent from local MSI"
|
||||
- name: Checkmk | Verify staged package on controller
|
||||
ansible.builtin.stat:
|
||||
path: '{{ checkmk_agent_files_dir }}/{{ checkmk_msi_filename }}'
|
||||
delegate_to: localhost
|
||||
become: false
|
||||
register: _checkmk_package
|
||||
- name: Checkmk | Require staged package
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- _checkmk_package.stat.isreg | default(false)
|
||||
- _checkmk_package.stat.size | default(0) | int > 0
|
||||
fail_msg: Required agent package is absent/empty. Use AIM Maintenance to download packages first.
|
||||
quiet: true
|
||||
- name: Windows | Ensure temp dir exists
|
||||
ansible.windows.win_file:
|
||||
path: '{{ checkmk_windows_tmp_path }}'
|
||||
state: directory
|
||||
- name: Windows | Copy Checkmk agent MSI from role files
|
||||
ansible.windows.win_copy:
|
||||
src: '{{ checkmk_agent_files_dir }}/{{ checkmk_msi_filename }}'
|
||||
dest: '{{ checkmk_windows_tmp_path }}\{{ checkmk_msi_filename }}'
|
||||
- name: Windows | Install Checkmk agent from local MSI
|
||||
ansible.windows.win_package:
|
||||
path: "{{ checkmk_windows_tmp_path }}\\{{ checkmk_msi_filename }}"
|
||||
path: '{{ checkmk_windows_tmp_path }}\{{ checkmk_msi_filename }}'
|
||||
state: present
|
||||
notify: "checkmk | windows | agent-ensure-running"
|
||||
register: _checkmk_package_install
|
||||
|
||||
Reference in New Issue
Block a user