| {%- from "grafana/map.jinja" import server with context %} |
| {%- if server.get('enabled', False) %} |
| |
| grafana_packages: |
| pkg.installed: |
| - names: {{ server.pkgs }} |
| |
| /etc/grafana/grafana.ini: |
| file.managed: |
| - source: salt://grafana/files/grafana.ini |
| - template: jinja |
| - user: grafana |
| - group: grafana |
| - require: |
| - pkg: grafana_packages |
| |
| {%- if server.auth.get('ldap', {}).get('enabled', False) %} |
| /etc/grafana/ldap.toml: |
| file.managed: |
| - source: salt://grafana/files/ldap.toml |
| - template: jinja |
| - user: grafana |
| - group: grafana |
| - require: |
| - pkg: grafana_packages |
| - watch_in: |
| - service: grafana_service |
| {%- endif %} |
| |
| |
| {%- if server.dashboards.enabled %} |
| |
| grafana_copy_default_dashboards: |
| file.recurse: |
| - name: {{ server.dashboards.path }} |
| - source: salt://grafana/files/dashboards |
| - user: grafana |
| - group: grafana |
| - require: |
| - pkg: grafana_packages |
| - require_in: |
| - service: grafana_service |
| |
| {%- endif %} |
| |
| {%- for theme_name, theme in server.get('theme', {}).iteritems() %} |
| |
| {%- if theme.css_override is defined %} |
| |
| grafana_{{ theme_name }}_css_override: |
| file.managed: |
| - names: |
| - {{ server.dir.static }}/css/grafana.{{ theme_name }}.min.css |
| {%- if theme.css_override.build is defined %} |
| - {{ server.dir.static }}/css/grafana.{{ theme_name }}.min.{{ theme.css_override.build }}.css |
| {%- endif %} |
| - source: {{ theme.css_override.source }} |
| {%- if theme.css_override.source_hash is defined %} |
| - source_hash: {{ theme.css_override.source_hash }} |
| {%- endif %} |
| - user: grafana |
| - group: grafana |
| - require: |
| - pkg: grafana_packages |
| - require_in: |
| - service: grafana_service |
| |
| {%- endif %} |
| |
| {%- endfor %} |
| |
| grafana_service: |
| service.running: |
| - name: {{ server.service }} |
| - enable: true |
| # It is needed if client is trying to set datasource or dashboards before |
| # server is ready. |
| - init_delay: 5 |
| - watch: |
| - file: /etc/grafana/grafana.ini |
| |
| {%- endif %} |