init.sls 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #
  2. # grafana
  3. #
  4. {% set grafana_cfg = salt['pillar.get']('grafana') %}
  5. {% set node_config = salt['pillar.get']('nodes:' ~ grains['id']) %}
  6. grafana:
  7. # add Grafana Repo
  8. file.managed:
  9. - names:
  10. - /usr/share/keyrings/grafana.key:
  11. - source: salt://grafana/grafana.key
  12. - /etc/apt/sources.list.d/grafana.list:
  13. - source: salt://grafana/grafana.list.tmpl
  14. - template: jinja
  15. - require:
  16. - file: /usr/share/keyrings/grafana.key
  17. # install grafana
  18. pkg.installed:
  19. - name: grafana
  20. - require:
  21. - file: /etc/apt/sources.list.d/grafana.list
  22. service.running:
  23. - name: grafana-server
  24. - enable: True
  25. - require:
  26. - pkg: grafana
  27. - file: /etc/grafana/grafana.ini
  28. - file: /etc/grafana/ldap.toml
  29. - user: grafana
  30. - watch:
  31. - file: /etc/grafana/grafana.ini
  32. - file: /etc/grafana/ldap.toml
  33. # add user 'grafana' to group 'ssl-cert' to access ssl-key file
  34. user.present:
  35. - name: grafana
  36. - system: True
  37. - groups:
  38. - ssl-cert
  39. - require:
  40. - pkg: grafana
  41. /etc/grafana/grafana.ini:
  42. file.managed:
  43. - source: salt://grafana/grafana.ini.tmpl
  44. - template: jinja
  45. config: {{ grafana_cfg }}
  46. - require:
  47. - pkg: grafana
  48. /etc/grafana/ldap.toml:
  49. {% if 'ldap' in grafana_cfg %}
  50. file.managed:
  51. - source: salt://grafana/ldap.toml.tmpl
  52. - template: jinja
  53. config: {{ grafana_cfg.ldap }}
  54. {% else %}
  55. file.absent:
  56. {% endif %}
  57. - require:
  58. - pkg: grafana