--- # 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