Browse Source

icinga2: generate users config from pillar

Dominique Flemming-Schmidt 3 years ago
parent
commit
3b91340823
2 changed files with 28 additions and 0 deletions
  1. 10 0
      icinga2/init.sls
  2. 18 0
      icinga2/users.conf.tmpl

+ 10 - 0
icinga2/init.sls

@@ -153,6 +153,16 @@ ffho-plugins:
 ################################################################################
 {% if 'icinga2server' in roles %}
 
+# Users and Notifications
+/etc/icinga2/ffho-conf.d/users.conf:
+  file.managed:
+    - source: salt://icinga2/users.conf.tmpl
+    - template: jinja
+    - require:
+      - pkg: icinga2
+    - watch_in:
+      - service: icinga2
+
 # Install command definitions
 /etc/icinga2/ffho-conf.d/services:
   file.recurse:

+ 18 - 0
icinga2/users.conf.tmpl

@@ -0,0 +1,18 @@
+{% set users = salt['pillar.get']("monitoring:users", {}) %}
+{% for user,params in users.items()|sort %}
+object User "{{ user }}" {
+        import "generic-user"
+
+  {%- if "display_name" in params %}
+        display_name = "{{ params['display_name'] }}"
+  {%- endif %}
+
+  {%- if "email" in params %}
+        email = "{{ params['email'] }}"
+  {%- endif %}
+
+  {%- if "telegram_chat_id" in params %}
+        vars.telegram_chat_id = "{{ params['telegram_chat_id'] }}"
+  {%- endif %}
+}
+{% endfor %}