diff --git a/playbooks/playbook.yml b/playbooks/playbook.yml index e7d4018f..ba222cd3 100644 --- a/playbooks/playbook.yml +++ b/playbooks/playbook.yml @@ -4,4 +4,5 @@ hosts: all roles: - nrpe + - fic-backend - fic-frontend diff --git a/playbooks/roles/fic-backend/files/backend b/playbooks/roles/fic-backend/files/backend new file mode 120000 index 00000000..096494f2 --- /dev/null +++ b/playbooks/roles/fic-backend/files/backend @@ -0,0 +1 @@ +../../../../backend/backend \ No newline at end of file diff --git a/playbooks/roles/fic-backend/files/backend.service b/playbooks/roles/fic-backend/files/backend.service new file mode 100644 index 00000000..3b696bd4 --- /dev/null +++ b/playbooks/roles/fic-backend/files/backend.service @@ -0,0 +1,12 @@ +[Unit] +Description=FIC Backend service +After=mysql.service + +[Service] +User=fic +Group=nogroup +WorkingDirectory=/home/fic +ExecStart=/home/fic/backend -unlockedChallenges -teams ./TEAMS -submission ./submissions + +[Install] +WantedBy=multi-user.target diff --git a/playbooks/roles/fic-backend/files/static b/playbooks/roles/fic-backend/files/static new file mode 120000 index 00000000..bf249be8 --- /dev/null +++ b/playbooks/roles/fic-backend/files/static @@ -0,0 +1 @@ +../../../../admin/static/ \ No newline at end of file diff --git a/playbooks/roles/fic-backend/tasks/main.yml b/playbooks/roles/fic-backend/tasks/main.yml new file mode 100644 index 00000000..edb67725 --- /dev/null +++ b/playbooks/roles/fic-backend/tasks/main.yml @@ -0,0 +1,57 @@ +--- +- name: install mysql + apt: name=mariadb-server + +- name: create fic user + user: + name=fic + home=/home/fic + group=nogroup + +- name: copy backend binary + copy: + src=backend + mode=755 + dest=/home/fic/backend + +- name: copy admin htdocs + copy: + src=static/ + dest=/home/fic/admin-htdocs + +- name: copy admin binary + copy: + src=admin + mode=755 + dest=/home/fic/admin + + +- name: enable and start mysql daemon + service: name=mysql enabled=yes state=started + +- name: create fic database + mysql_db: + name=fic + state=present + +- name: create fic user + mysql_user: + name=fic + password=fic + priv=fic.*:ALL + state=present + + +- name: add backend service + copy: + src=backend.service + dest=/lib/systemd/system/fic-backend.service + +- name: reload systemd + command: systemctl daemon-reload + +- name: enable and start fic-backend + service: + name=fic-backend + enabled=yes + state=started