Ansible/roles/sensu.sensu/tasks/FreeBSD/dashboard.yml

87 lines
1.9 KiB
YAML
Raw Normal View History

---
# tasks/FreeBSD/dashboard.yml: Deployment of the Uchiwa dashboard
# Specific to FreeBSD
- name: Include ansible_distribution vars
include_vars:
file: "{{ ansible_distribution }}.yml"
tags: dashboard
- name: Ensure Uchiwa (dashboard) dependencies are installed
tags: dashboard
pkgng:
name: "{{ item }}"
state: present
loop:
- go
- git
- npm
- name: Ensure Uchiwa directory exists
tags: dashboard
file:
dest: "{{ sensu_uchiwa_path }}"
state: directory
owner: "{{ sensu_user_name }}"
group: "{{ sensu_group_name }}"
recurse: true
- name: Ensure Uchiwa Go/config directory exists
tags: dashboard
file:
dest: "{{ sensu_uchiwa_path }}/{{ item }}"
state: directory
owner: "{{ sensu_user_name }}"
group: "{{ sensu_group_name }}"
recurse: true
loop:
- etc
- go
- name: Ensure Uchiwa GOPATH exists
tags: dashboard
file:
dest: "{{ sensu_uchiwa_path }}/go/{{ item }}"
owner: "{{ sensu_user_name }}"
group: "{{ sensu_group_name }}"
state: directory
recurse: true
loop:
- bin
- pkg
- src
- name: Fetch Uchiwa from GitHub
tags: dashboard
command: go get github.com/sensu/uchiwa
environment:
GOPATH: "{{ sensu_uchiwa_path }}/go"
args:
creates: "{{ sensu_uchiwa_path }}/go/src/github.com/sensu/uchiwa"
notify: Build and deploy Uchiwa
become: true
become_user: "{{ sensu_user_name }}"
- meta: flush_handlers
tags: dashboard
- name: Deploy Uchiwa config
tags: dashboard
template:
src: uchiwa_config.json.j2
dest: "{{ sensu_uchiwa_path }}/etc/config.json"
owner: "{{ sensu_user_name }}"
group: "{{ sensu_group_name }}"
notify: restart uchiwa service
- name: Deploy Uchiwa service file
tags: dashboard
template:
src: uchiwa_freebsd.j2
dest: "/usr/local/etc/rc.d/uchiwa"
mode: "0755"
- name: Ensure Uchiwa server service is running
tags: dashboard
service: name=uchiwa state=started enabled=yes