summaryrefslogtreecommitdiff
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
parent8ec978fc106cf7c2b7031915d8ad4f3cfd5f0aa3 (diff)
downloadinfrastructure-94805485673f88abc4d48674725220df7f6111c8.tar.gz
baserock_webserver: Install Haste server
-rw-r--r--README.md1
-rw-r--r--baserock_webserver/hastebin/haste-server.service.in13
-rw-r--r--baserock_webserver/instance-hastebin-config.yml58
3 files changed, 72 insertions, 0 deletions
diff --git a/README.md b/README.md
index 8b7060c0..a8744874 100644
--- a/README.md
+++ b/README.md
@@ -351,6 +351,7 @@ To deploy to production:
ansible-playbook -i hosts baserock_webserver/image-config.yml
ansible-playbook -i hosts baserock_webserver/instance-config.yml
ansible-playbook -i hosts baserock_webserver/instance-gitlab-bot-config.yml \
+ ansible-playbook -i hosts baserock_webserver/instance-hastebin-config.yml \
--vault-password-file ~/vault-infra-pass
ansible-playbook -i hosts baserock_webserver/instance-irclogs-config.yml
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