ansible/roles/grafana/tasks/main.yml

36 lines
1.2 KiB
YAML

---
- name: Enable grafana apt-key
apt_key: url='https://packages.grafana.com/gpg.key'
- name: Enable grafana repository
apt_repository: repo='deb https://packages.grafana.com/oss/deb stable main'
- name: Install grafana
apt: name=grafana
- name: Ensure certificates are available
command: openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/nginx/ssl/{{ grafana_domain }}.key -out /etc/nginx/ssl/{{ grafana_domain }}.crt -days 730 -subj "/CN={{ grafana_domain }}" creates=/etc/nginx/ssl/{{ grafana_domain }}.crt
notify: Restart nginx
- name: Request nsupdate key for certificate
include_role: name=acme-dnskey-generate
vars:
acme_dnskey_san_domains:
- "{{ grafana_domain }}"
- name: Configure certificate manager for grafana
template: src=certs.j2 dest=/etc/acertmgr/{{ grafana_domain }}.conf
notify: Run acertmgr
- name: Configure vhost
template: src=vhost.j2 dest=/etc/nginx/sites-available/grafana
notify: Restart nginx
- name: Enable vhost
file: src=/etc/nginx/sites-available/grafana dest=/etc/nginx/sites-enabled/grafana state=link
notify: Restart nginx
- name: Start grafana
service: name=grafana state=started enabled=yes