diff --git a/roles/icinga_agent/README.md b/roles/icinga_agent/README.md index bea77e4..1eaf61a 100644 --- a/roles/icinga_agent/README.md +++ b/roles/icinga_agent/README.md @@ -8,9 +8,10 @@ This role installs and configures the icinga agent. | icinga_agent_package | yes | icinga2 | installs icinga2 package | icinga_agent_registration | yes | false | used to register your installed icinga agent against your icinga master | icinga_agent_enable_features | no | | config files for extra features you can use along with icinga. If you add for example api.conf to the variable the feature will be active in your icinga instance -| icinga_agent_ca_host | no | | your master intance (f.e: master0-example.de) +| icinga_agent_ca_host | no | | your master instance (f.e: master0-example.de) | icinga_agent_ca_host_icinga_port | no | 5665 | Icinga agent port | icinga_agent_salt | no | | used to hash password +| icinga_agent_hostname | no | "{{ ansible_hostname }}" | define hostname (icinga satellites require this to be set to `ansible_fqdn` or some other usable FQDN) | icinga_agent_custom_features_template_path | no | | define custom feature file (f.e. {{ playbook_dir }}/icinga_custom_templates/*) | icinga_agent_constants[RedHat, Debian] | yes | const PluginDir = "/usr/lib64/nagios/plugins"
const PluginContribDir = "/usr/lib64/nagios/plugins"
const ManubulonPluginDir = "/usr/lib64/nagios/plugins"
const ZoneName = "{{ ansible_hostname }}"
const NodeName = "{{ ansible_hostname }}"
const TicketSalt = "" | define content for config file constants.conf, depending on the OS family | | icinga_agent_api_conf | yes | accept_config = true
accept_commands = true | define content for feature file api.conf | diff --git a/roles/icinga_agent/defaults/main.yml b/roles/icinga_agent/defaults/main.yml index d6c1cb2..24d33d1 100644 --- a/roles/icinga_agent/defaults/main.yml +++ b/roles/icinga_agent/defaults/main.yml @@ -2,20 +2,21 @@ icinga_agent_package: icinga2 icinga_agent_registration: false icinga_agent_ca_host_icinga_port: 5665 +icinga_agent_hostname: "{{ ansible_hostname }}" icinga_agent_constants: RedHat: | const PluginDir = "/usr/lib64/nagios/plugins" const PluginContribDir = "/usr/lib64/nagios/plugins" const ManubulonPluginDir = "/usr/lib64/nagios/plugins" - const ZoneName = "{{ ansible_hostname }}" - const NodeName = "{{ ansible_hostname }}" + const ZoneName = "{{ icinga_agent_hostname }}" + const NodeName = "{{ icinga_agent_hostname }}" const TicketSalt = "" Debian: | const PluginDir = "/usr/lib/nagios/plugins" const PluginContribDir = "/usr/lib/nagios/plugins" const ManubulonPluginDir = "/usr/lib/nagios/plugins" - const ZoneName = "{{ ansible_hostname }}" - const NodeName = "{{ ansible_hostname }}" + const ZoneName = "{{ icinga_agent_hostname }}" + const NodeName = "{{ icinga_agent_hostname }}" const TicketSalt = "" icinga_agent_api_conf: | accept_config = true diff --git a/roles/icinga_agent/tasks/main.yml b/roles/icinga_agent/tasks/main.yml index b8ff5be..a188995 100644 --- a/roles/icinga_agent/tasks/main.yml +++ b/roles/icinga_agent/tasks/main.yml @@ -93,7 +93,7 @@ - name: Generate ticket and save it as a variable ansible.builtin.command: > - /usr/sbin/icinga2 pki ticket --cn {{ ansible_hostname }} --salt {{ icinga_agent_salt }} + /usr/sbin/icinga2 pki ticket --cn {{ icinga_agent_hostname }} --salt {{ icinga_agent_salt }} environment: LD_LIBRARY_PATH: /usr/lib64 register: ticket @@ -102,16 +102,16 @@ - name: Create certificate ansible.builtin.command: > - /usr/sbin/icinga2 pki new-cert --cn {{ ansible_hostname }} - --key /var/lib/icinga2/certs/{{ ansible_hostname }}.key - --cert /var/lib/icinga2/certs/{{ ansible_hostname }}.crt + /usr/sbin/icinga2 pki new-cert --cn {{ icinga_agent_hostname }} + --key /var/lib/icinga2/certs/{{ icinga_agent_hostname }}.key + --cert /var/lib/icinga2/certs/{{ icinga_agent_hostname }}.crt args: - creates: /var/lib/icinga2/certs/{{ ansible_hostname }}.crt + creates: /var/lib/icinga2/certs/{{ icinga_agent_hostname }}.crt - name: Save the icinga master's certificate to the host ansible.builtin.command: > - /usr/sbin/icinga2 pki save-cert --key /var/lib/icinga2/certs/{{ ansible_hostname }}.key - --cert /var/lib/icinga2/certs/{{ ansible_hostname }}.crt + /usr/sbin/icinga2 pki save-cert --key /var/lib/icinga2/certs/{{ icinga_agent_hostname }}.key + --cert /var/lib/icinga2/certs/{{ icinga_agent_hostname }}.crt --trustedcert /var/lib/icinga2/certs/trusted-master.crt --host {{ icinga_agent_ca_host }} args: @@ -121,8 +121,8 @@ ansible.builtin.command: > /usr/sbin/icinga2 pki request --host {{ icinga_agent_ca_host }} --port {{ icinga_agent_ca_host_icinga_port }} - --ticket {{ ticket.stdout }} --key /var/lib/icinga2/certs/{{ ansible_hostname }}.key - --cert /var/lib/icinga2/certs/{{ ansible_hostname }}.crt + --ticket {{ ticket.stdout }} --key /var/lib/icinga2/certs/{{ icinga_agent_hostname }}.key + --cert /var/lib/icinga2/certs/{{ icinga_agent_hostname }}.crt --trustedcert /var/lib/icinga2/certs/trusted-master.crt --ca /var/lib/icinga2/certs/ca.crt args: creates: /var/lib/icinga2/certs/ca.crt