---
- name: Install the nagios packages
  apt: pkg={{ nagios_plugins_base_pkgs }} state=present update_cache=yes cache_valid_time=1800
  tags: nagios

- name: Additional nagios plugins when available
  apt: pkg={{ nagios_plugins_contrib }} state=present update_cache=yes cache_valid_time=1800
  tags: [ 'nagios', 'nagios_plug_contrib' ]

- name: Create the directory where our local plugins are installed
  file: path={{ nagios_local_plugdir }} state=directory
  tags: nagios

- name: Install the generic shell library used by some custom checks
  template: src=check_library.sh.j2 dest={{ nagios_local_plugdir }}/check_library.sh owner=root group=root mode=0644
  tags: nagios

- name: Install plugins that can be useful on all the installed servers
  copy: src={{ item }} dest={{ nagios_local_plugdir }}/{{ item }} owner=root group=nagios mode=0755
  with_items:
    - check_system_pp
    - show_users
    - check_netint.pl
  tags: nagios

- name: Install a fixed check_memory on Ubuntu 16.04
  copy: src={{ item }} dest={{ nagios_plugins_dir }}/{{ item }} owner=root group=nagios mode=0755
  with_items:
    - check_memory.xenial
  when: ansible_distribution_release == 'xenial'
  tags: nagios

- name: Install the global nrpe commands file
  template: src=common-nrpe.cfg.j2 dest=/etc/nagios/nrpe.d/common.cfg owner=root group=root mode=444
  notify: Restart NRPE server
  register: nrpe_restart
  tags: [ 'nagios', 'nrpe', 'nrpe_cfg' ]

- name: set the NRPE ACL
  action: |
    lineinfile name=/etc/nagios/nrpe.cfg regexp="allowed_hosts=" line="allowed_hosts=127.0.0.1,{% for ip in nagios_monitoring_server_ip %}{{ ip }}{%if not loop.last %},{% endif %}{% endfor %}"
  notify: Reload NRPE server
  register: nrpe_restart
  tags: [ 'nagios', 'nrpe', 'nrpe_cfg' ]

- name: set the NRPE default timeout
  lineinfile: name=/etc/nagios/nrpe.cfg regexp="command_timeout=" line="command_timeout={{ nrpe_command_timeout }}"
  notify: Reload NRPE server
  register: nrpe_restart
  tags: [ 'nagios', 'nrpe', 'nrpe_cfg' ]

- name: Restart NRPE server
  service: name=nagios-nrpe-server state=restarted
  when:
    - nrpe_restart is defined
    - nrpe_restart is changed

- name: nagios needs root to execute some commands. We do it via sudo
  template: src=nagios.sudoers.j2 dest=/etc/sudoers.d/nagios owner=root group=root mode=0440
  tags: [ 'nagios', 'nrpe', 'sudo' ]