From 21fd284cc5a9966b38f21b40a8426ee47572e007 Mon Sep 17 00:00:00 2001 From: Alexandre Iooss Date: Sat, 9 May 2020 10:40:50 +0200 Subject: [PATCH] EtherCalc role --- roles/ethercalc/tasks/main.yml | 52 +++++++++++++++++++ .../systemd/system/ethercalc.service.j2 | 17 ++++++ .../templates/update-motd.d/05-service.j2 | 3 ++ services_web.yml | 14 +++-- 4 files changed, 78 insertions(+), 8 deletions(-) create mode 100644 roles/ethercalc/tasks/main.yml create mode 100644 roles/ethercalc/templates/systemd/system/ethercalc.service.j2 create mode 100755 roles/ethercalc/templates/update-motd.d/05-service.j2 diff --git a/roles/ethercalc/tasks/main.yml b/roles/ethercalc/tasks/main.yml new file mode 100644 index 00000000..8447bf2b --- /dev/null +++ b/roles/ethercalc/tasks/main.yml @@ -0,0 +1,52 @@ +--- +- name: Install APT HTTPS support + apt: + name: apt-transport-https + state: present + update_cache: true + register: apt_result + retries: 3 + until: apt_result is succeeded + +- name: Import NodeJS GPG signing key + apt_key: + url: https://deb.nodesource.com/gpgkey/nodesource.gpg.key + state: present + validate_certs: false + register: apt_key_result + retries: 3 + until: apt_key_result is succeeded + +- name: Add NodeJS repository + apt_repository: + repo: "deb https://deb.nodesource.com/node_10.x {{ ansible_lsb.codename }} main" + state: present + update_cache: true + +- name: Install Redis and NPM + apt: + update_cache: true + name: + - redis-server + - nodejs + register: apt_result + retries: 3 + until: apt_result is succeeded + +- name: Install EtherCalc systemd unit + template: + src: systemd/system/ethercalc.service.j2 + dest: /etc/systemd/system/ethercalc.service + +- name: Activate EtherCalc service + systemd: + daemon_reload: true + name: ethercalc + enabled: true + state: started + +- name: Indicate role in motd + template: + src: update-motd.d/05-service.j2 + dest: /etc/update-motd.d/05-ethercalc + mode: 0755 diff --git a/roles/ethercalc/templates/systemd/system/ethercalc.service.j2 b/roles/ethercalc/templates/systemd/system/ethercalc.service.j2 new file mode 100644 index 00000000..22fb27e5 --- /dev/null +++ b/roles/ethercalc/templates/systemd/system/ethercalc.service.j2 @@ -0,0 +1,17 @@ +{{ ansible_header | comment }} + +[Unit] +Description=Ethercalc +Require=redis-server.service + +[Service] +Type=simple +Restart=on-failure +RestartSec=3 +User=redis +Group=redis +PIDFile=/var/run/ethercalc.pid +ExecStart=/usr/bin/ethercalc --host 10.231.136.203 --port 8000 + +[Install] +WantedBy=multi-user.target diff --git a/roles/ethercalc/templates/update-motd.d/05-service.j2 b/roles/ethercalc/templates/update-motd.d/05-service.j2 new file mode 100755 index 00000000..00b76513 --- /dev/null +++ b/roles/ethercalc/templates/update-motd.d/05-service.j2 @@ -0,0 +1,3 @@ +#!/usr/bin/tail +14 +{{ ansible_header | comment }} +> EtherCalc a été déployé sur cette machine. Voir /usr/lib/node_modules/ethercalc/. diff --git a/services_web.yml b/services_web.yml index 4c6f7d78..a22869d2 100755 --- a/services_web.yml +++ b/services_web.yml @@ -16,20 +16,18 @@ roles: - framadate -# Deploy CAS - hosts: cas-srv.adm.crans.org - roles: - - django-cas + roles: ["django-cas"] # Deploy Gitlab CI - hosts: gateau.adm.crans.org - roles: - - docker + roles: ["docker"] -# Deploy TV - hosts: cochon.adm.crans.org - roles: - - mumudvb + roles: ["mumudvb"] + +- hosts: ethercalc-srv.adm.crans.org + roles: ["ethercalc"] # Deploy OwnCloud - hosts: owncloud-srv.adm.crans.org