- name:add web and monitoring users to icingaweb2 group
ansible.builtin.user:
name:"{{ item }}"
groups:icingaweb2
append:true
loop:
- www-data
- nagios
- name:ensure icingaweb2 database exists
ansible.builtin.shell:|
mysql --socket={{ life_noc_db_root_socket }} -Nse "CREATE DATABASE IF NOT EXISTS {{ life_noc_db_web_name }} CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
changed_when:false
- name:ensure icingaweb2 database user exists and has grants
ansible.builtin.shell:|
mysql --socket={{ life_noc_db_root_socket }} -Nse "GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON {{ life_noc_db_web_name }}.* TO '{{ life_noc_db_web_user }}'@'localhost' IDENTIFIED BY '{{ life_noc_db_web_password }}'; FLUSH PRIVILEGES;"
changed_when:false
- name:check whether icingaweb2 schema is already imported
ansible.builtin.shell:|
mysql --socket={{ life_noc_db_root_socket }} -Nse "SELECT COUNT(*) FROM information_schema.tables WHERE table_schema='{{ life_noc_db_web_name }}' AND table_name='icingaweb_user';"
mysql --socket={{ life_noc_db_root_socket }} -Nse "SELECT COUNT(*) FROM {{ life_noc_db_web_name }}.icingaweb_user WHERE name='{{ life_noc_admin_user }}';"