From f70fdec59fbb38ecb901cf009ae96cb8d8775096 Mon Sep 17 00:00:00 2001
From: Robin Sonnabend <robin@fsmpi.rwth-aachen.de>
Date: Sun, 21 Jun 2020 18:08:44 +0200
Subject: [PATCH] Add simple role for preparing framadate installation

---
 framadate/defaults/main.yml |  3 +++
 framadate/tasks/main.yml    | 52 +++++++++++++++++++++++++++++++++++++
 2 files changed, 55 insertions(+)
 create mode 100644 framadate/defaults/main.yml
 create mode 100644 framadate/tasks/main.yml

diff --git a/framadate/defaults/main.yml b/framadate/defaults/main.yml
new file mode 100644
index 0000000..0a87288
--- /dev/null
+++ b/framadate/defaults/main.yml
@@ -0,0 +1,3 @@
+---
+
+framadate_name: "framadate"
diff --git a/framadate/tasks/main.yml b/framadate/tasks/main.yml
new file mode 100644
index 0000000..7603adb
--- /dev/null
+++ b/framadate/tasks/main.yml
@@ -0,0 +1,52 @@
+---
+
+- name: install packages
+  apt:
+    name:
+      - php
+      - php-mbstring
+      - php-mysql
+      - php-intl
+      - composer
+
+- name: ensure a group for framadate exist
+  group:
+    name: "{{framadate_name}}"
+    state: present
+    system: true
+
+- name: ensure a user for framadate exist
+  user:
+    name: "{{framadate_name}}"
+    group: "{{framadate_name}}"
+    state: present
+    system: true
+    shell: /usr/bin/nologin
+    home: "/var/www/{{framadate_name}}"
+    createhome: false
+
+- name: ensure the directory for framadate exist
+  file:
+    path: "/var/www/{{framadate_name}}"
+    state: directory
+    owner: "{{framadate_name}}"
+    group: "{{framadate_name}}"
+    mode: '0755'
+
+- name: create the mysql database
+  mysql_db:
+    name: "{{framadate_name}}"
+    state: present
+    login_user: root
+    login_password: "{{lookup('passwordstore', 'db/{{ansible_hostname}}-mysql')}}"
+  no_log: true
+
+- name: create mysql db user
+  mysql_user:
+    name: "{{framadate_name}}"
+    password: "{{lookup('passwordstore', 'db/{{ansible_hostname}}-mysql-{{framadate_name}} create=true length=20')}}"
+    state: present
+    login_user: root
+    login_password: "{{lookup('passwordstore', 'db/{{ansible_hostname}}-mysql')}}"
+    priv: "{{framadate_name}}.*:ALL"
+  no_log: true
-- 
GitLab