ansible.xymon_server/tasks/main.yml

55 lines
1.8 KiB
YAML

---
# .. vim: foldmarker=[[[,]]]:foldmethod=marker
#
# tasks file for ipr-cnrs.xymon_server
# Server Manage required system packages [[[1
- name: Ensure required packages are in there desired state
ansible.builtin.package:
name: '{{ xymon_server__base_packages | list }}'
state: '{{ "present" if (xymon_server__deploy_state == "present") else "absent" }}'
install_recommends: False
register: server_pkg_result
until: server_pkg_result is success
# Server Manage /etc configuration files [[[1
- name: Ensure /etc directory structure exists
ansible.builtin.file:
path: '/etc/xymon/{{ item.path }}'
state: directory
with_filetree: '{{ xymon_server__etc_src }}'
when: item.state == 'directory'
notify: ['restart xymon server service']
- name: Generate Xymon configuration files
ansible.builtin.template:
src: '{{ item.src }}'
dest: "/etc/xymon/{{ item.path | replace('.j2','') }}"
mode: '{{ item.mode }}'
with_filetree: '{{ xymon_server__etc_src }}'
when: item.state == 'file'
notify: ['restart xymon server service']
- name: Generate Xymon configuration symlinks
ansible.builtin.template:
src: '{{ item.src }}'
dest: "/etc/xymon/{{ item.path }}"
mode: '{{ item.mode }}'
state: 'link'
force: true
with_filetree: '{{ xymon_server__etc_src }}'
when: item.state == 'link'
notify: ['restart xymon server service']
# Manage service [[[1
- name: Manage Xymon server service
ansible.builtin.service:
name: '{{ xymon_server__service_name }}'
state: '{{ "started" if (xymon_server__deploy_state == "present" and
(xymon_server__service_manage | d(True) | bool))
else "stopped" }}'
enabled: '{{ (xymon_server__deploy_state == "present") and
(xymon_server__service_manage | d(True) | bool) }}'