---

- name: Enable grafana apt-key
  apt_key: url="https://apt.grafana.com/gpg.key" keyring="/etc/apt/trusted.gpg.d/grafana.gpg"

- name: Enable grafana repository
  apt_repository: repo="deb https://apt.grafana.com 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 }}"
  when: "'kitchen' in group_names"

- 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-server state=started enabled=yes

- name: Enable monitoring
  include_role: name=icinga-monitor tasks_from=http
  vars:
    vhost: "{{ grafana_domain }}"