91 lines
1.9 KiB
Text
Executable file
91 lines
1.9 KiB
Text
Executable file
{%- if pillar.grafana.server.enabled %}
|
|
|
|
include:
|
|
- git
|
|
- nodejs
|
|
|
|
/srv/grafana:
|
|
file:
|
|
- directory
|
|
- mode: 755
|
|
- makedirs: true
|
|
|
|
{% if pillar.grafana.server.source.type == 'git' %}
|
|
|
|
grafana_repository:
|
|
git.latest:
|
|
- name: {{ pillar.grafana.server.source.address }}
|
|
- rev: {{ pillar.grafana.server.source.rev }}
|
|
- target: /srv/grafana/site
|
|
- require:
|
|
- file: /srv/grafana
|
|
- pkg: git_packages
|
|
|
|
/srv/grafana/site/src/config.js:
|
|
file:
|
|
- managed
|
|
- source: salt://grafana/conf/config.js
|
|
- template: jinja
|
|
- require:
|
|
- git: grafana_repository
|
|
|
|
grafana_install:
|
|
cmd.run:
|
|
- names:
|
|
- npm install
|
|
- npm install -g grunt-cli
|
|
- cwd: /srv/grafana/site
|
|
- unless: test -e /srv/grafana/site/node_modules
|
|
- require:
|
|
- git: grafana_repository
|
|
|
|
grafana_grun_build:
|
|
cmd.run:
|
|
- names:
|
|
- grunt build --force
|
|
- cwd: /srv/grafana/site
|
|
- unless: test -e /srv/grafana/site/dist
|
|
- require:
|
|
- git: grafana_repository
|
|
- file: /srv/grafana/site/src/config.js
|
|
|
|
{% elif pillar.grafana.server.source.type == 'pkg' %}
|
|
|
|
{% set version = pillar.grafana.server.source.rev %}
|
|
|
|
/srv/grafana/site/dist:
|
|
file:
|
|
- directory
|
|
- mode: 755
|
|
- makedirs: true
|
|
|
|
/srv/grafana/site/dist/config.js:
|
|
file:
|
|
- managed
|
|
- source: salt://grafana/conf/config.js
|
|
- template: jinja
|
|
- require:
|
|
- file: /srv/grafana/site/dist
|
|
|
|
download_grafana:
|
|
cmd.run:
|
|
- names:
|
|
- wget https://github.com/torkelo/grafana/releases/download/v{{ version }}/grafana-{{ version }}.tar.gz
|
|
- user: root
|
|
- cwd: /root
|
|
- unless: test -e /root/grafana-{{ version }}.tar.gz
|
|
|
|
untar_grafana:
|
|
cmd.run:
|
|
- names:
|
|
- tar zxvf /root/grafana-{{ version }}.tar.gz -C /srv/grafana/site/dist
|
|
- user: root
|
|
- cwd: /root
|
|
- unless: test -e /srv/grafana/dist/app
|
|
- require:
|
|
- file: /srv/grafana/site/dist/config.js
|
|
- file: /srv/grafana/site/dist
|
|
|
|
{% endif %}
|
|
|
|
{%- endif %}
|