diff options
author | Pedro Alvarez <pedro.alvarez@codethink.co.uk> | 2017-10-24 10:14:56 +0100 |
---|---|---|
committer | Pedro Alvarez <pedro.alvarez@codethink.co.uk> | 2017-10-24 11:29:46 +0100 |
commit | 9bf9242afff62ca2219f19422285fc7ca17aa308 (patch) | |
tree | 61cc90d01392031a1ee4e3b4d271a1a26e57e2a5 | |
parent | f02b7f5a892ad202c099a37947c292f608e3887c (diff) | |
download | infrastructure-9bf9242afff62ca2219f19422285fc7ca17aa308.tar.gz |
baserock_webserver: Install Haste server
-rw-r--r-- | README.md | 1 | ||||
-rw-r--r-- | baserock_webserver/hastebin/haste-server.service.in | 13 | ||||
-rw-r--r-- | baserock_webserver/instance-hastebin-config.yml | 58 |
3 files changed, 72 insertions, 0 deletions
@@ -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 |