summaryrefslogtreecommitdiff
path: root/baserock_webserver
diff options
context:
space:
mode:
authorPedro Alvarez <pedro.alvarez@codethink.co.uk>2017-10-24 10:14:56 +0100
committerSam Thursfield <sam.thursfield@codethink.co.uk>2017-10-24 16:51:00 +0000
commit94805485673f88abc4d48674725220df7f6111c8 (patch)
tree4a10b0ef3fa68b605e5838aae07c9e778bfffb63 /baserock_webserver
parent8ec978fc106cf7c2b7031915d8ad4f3cfd5f0aa3 (diff)
downloadinfrastructure-94805485673f88abc4d48674725220df7f6111c8.tar.gz
baserock_webserver: Install Haste server
Diffstat (limited to 'baserock_webserver')
-rw-r--r--baserock_webserver/hastebin/haste-server.service.in13
-rw-r--r--baserock_webserver/instance-hastebin-config.yml58
2 files changed, 71 insertions, 0 deletions
diff --git a/baserock_webserver/hastebin/haste-server.service.in b/baserock_webserver/hastebin/haste-server.service.in
new file mode 100644
index 00000000..1da2c588
--- /dev/null
+++ b/baserock_webserver/hastebin/haste-server.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description = Haste server
+
+[Service]
+Type = simple
+WorkingDirectory={{ haste_server_install_location }}
+ExecStart = /usr/bin/node {{ haste_server_install_location }}/server.js
+User = hastebin
+Group = hastebin
+Restart = on-failure
+
+[Install]
+WantedBy=default.target
diff --git a/baserock_webserver/instance-hastebin-config.yml b/baserock_webserver/instance-hastebin-config.yml
new file mode 100644
index 00000000..5447981c
--- /dev/null
+++ b/baserock_webserver/instance-hastebin-config.yml
@@ -0,0 +1,58 @@
+# Instance-specific configuration for the BuildStream Gitlab IRC bot
+---
+- hosts: webserver
+ vars:
+ - haste_server_url: https://github.com/palvarez89/haste-server
+ - haste_server_branch: baserock
+ - haste_server_install_location: /home/hastebin/haste-server
+ - haste_server_service_name: haste-server
+ tasks:
+ - name: Install Git
+ dnf: name=git state=latest
+ become: yes
+
+ - name: Install Redis
+ dnf: name=redis state=latest
+ become: yes
+
+ - name: Start Redis service
+ service:
+ name: redis
+ enabled: yes
+ state: started
+ become: yes
+
+ - name: Install Node.js
+ dnf: name=nodejs state=latest
+ become: yes
+
+ - name: hastebin user
+ user: name=hastebin
+ become: yes
+ become_user: root
+
+ - name: Download hastebin sources
+ git:
+ repo: "{{ haste_server_url }}"
+ version: "{{ haste_server_branch }}"
+ dest: "{{ haste_server_install_location }}"
+ become: yes
+ become_user: hastebin
+
+ - name: Update packages based on package.json to their latest version.
+ npm:
+ path: "{{ haste_server_install_location }}"
+ state: latest
+ become: yes
+ become_user: hastebin
+
+ - name: Install service for the haste server
+ template: src=hastebin/haste-server.service.in dest=/etc/systemd/system/{{ haste_server_service_name }}.service
+ become: yes
+
+ - name: Restart haste service
+ service:
+ name: "{{ haste_server_service_name }}"
+ enabled: yes
+ state: restarted
+ become: yes