|
|
@@ -0,0 +1,72 @@
|
|
|
+---
|
|
|
+# tasks/SmartOS/dashboard.yml: Deployment of the Uchiwa dashboard
|
|
|
+# Specific to Joyent SmartOS
|
|
|
+
|
|
|
+ - name: Ensure Uchiwa (dashboard) dependencies are installed
|
|
|
+ pkgin: name=go state=present
|
|
|
+
|
|
|
+ - name: Ensure Uchiwa directory exists
|
|
|
+ file: dest={{ uchiwa_path }} state=directory
|
|
|
+ owner={{ sensu_user_name }} group={{ sensu_group_name }}
|
|
|
+ recurse=yes
|
|
|
+
|
|
|
+ - name: Ensure Uchiwa config directory exists
|
|
|
+ file: dest={{ uchiwa_path }}/etc state=directory
|
|
|
+ owner={{ sensu_user_name }} group={{ sensu_group_name }}
|
|
|
+ recurse=yes
|
|
|
+
|
|
|
+ - name: Ensure Uchiwa Go directory exists
|
|
|
+ file: dest={{ uchiwa_path }}/go state=directory
|
|
|
+ owner={{ sensu_user_name }} group={{ sensu_group_name }}
|
|
|
+ recurse=yes
|
|
|
+
|
|
|
+ - name: Ensure Uchiwa GOPATH exists
|
|
|
+ file: dest={{ uchiwa_path }}/go/{{ item }}
|
|
|
+ owner={{ sensu_user_name }}
|
|
|
+ group={{ sensu_group_name }}
|
|
|
+ state=directory recurse=yes
|
|
|
+ with_items:
|
|
|
+ - bin
|
|
|
+ - pkg
|
|
|
+ - src
|
|
|
+
|
|
|
+ - name: Fetch Uchiwa from GitHub
|
|
|
+ command: go get github.com/sensu/uchiwa
|
|
|
+ environment:
|
|
|
+ GOPATH: "{{ uchiwa_path }}/go"
|
|
|
+ sudo: yes
|
|
|
+ sudo_user: "{{ sensu_user_name }}"
|
|
|
+ args:
|
|
|
+ creates: "{{ uchiwa_path }}/go/src/github.com/sensu/uchiwa"
|
|
|
+
|
|
|
+ - name: Build and deploy Uchiwa
|
|
|
+ shell: npm install --production chdir={{ uchiwa_path }}/go/src/github.com/sensu/uchiwa
|
|
|
+ args:
|
|
|
+ creates: "{{ uchiwa_path }}/go/src/github.com/sensu/uchiwa/public/bower_components"
|
|
|
+ sudo: yes
|
|
|
+ sudo_user: "{{ sensu_user_name }}"
|
|
|
+
|
|
|
+ - name: Deploy Uchiwa config
|
|
|
+ template: src=uchiwa_config.json.j2 dest={{ uchiwa_path }}/etc/config.json
|
|
|
+ owner={{ sensu_user_name }} group={{ sensu_group_name }}
|
|
|
+ notify: restart uchiwa service
|
|
|
+
|
|
|
+ - name: Deploy Uchiwa service script
|
|
|
+ template: src=uchiwa.sh.j2
|
|
|
+ dest=/opt/local/lib/svc/method/uchiwa
|
|
|
+ owner=root group=root mode=755
|
|
|
+ notify: restart uchiwa service
|
|
|
+
|
|
|
+ - name: Deploy Uchiwa service manifest
|
|
|
+ template: dest=/opt/local/lib/svc/manifest/uchiwa.xml
|
|
|
+ src=uchiwa.smartos_smf_manifest.xml.j2
|
|
|
+ owner=root group=root mode=644
|
|
|
+ notify: import uchiwa service
|
|
|
+
|
|
|
+ - name: Initial import of Uchiwa server service
|
|
|
+ command: /usr/sbin/svccfg import /opt/local/lib/svc/manifest/uchiwa.xml
|
|
|
+ args:
|
|
|
+ creates: "/var/svc/log/application-uchiwa:default.log"
|
|
|
+
|
|
|
+ - name: Ensure Uchiwa server service is running
|
|
|
+ service: name=uchiwa state=started enabled=yes
|