From 40689344a8f3bf80fb782e0798eceea778cfc760 2015-08-16 21:41:53 From: Branko Majic Date: 2015-08-16 21:41:53 Subject: [PATCH] MAR-15: Implemented role for deploying a MariaDB database. --- diff --git a/docs/rolereference.rst b/docs/rolereference.rst index bab0b80d49ea295b1442c6c84d9f4bcd6ff161f8..85974dd36b87f47a49e64d32c1e4ffde0063609e 100644 --- a/docs/rolereference.rst +++ b/docs/rolereference.rst @@ -1214,3 +1214,39 @@ Here is an example configuration for setting-up the database server: --- db_root_password: root + + +Database +-------- + +The ``database`` role can be used for creating a MariaDB database and +accompanying user on destination machine. + +The role implements the following: + +* Creates MariaDB database. +* Creates a dedicated user capable of performing any operation on the created + database. Username is set to be same as the name of database. + + +Parameters +~~~~~~~~~~ + +**db_name** (string, mandatory) + Name of the database that should be created. + +**db_password** (string, mandatory) + Password for the database user. + + +Examples +~~~~~~~~ + +Here is an example configuration for creating a single database (for some +website): + +.. code-block:: yaml + + - role: database + db_name: phpinfo_example_com + db_password: phpinfo_example_com diff --git a/roles/database/meta/main.yml b/roles/database/meta/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..873860b6a732d202899b6ca78b98b93fecdc0a45 --- /dev/null +++ b/roles/database/meta/main.yml @@ -0,0 +1,3 @@ +--- + +allow_duplicates: yes \ No newline at end of file diff --git a/roles/database/tasks/main.yml b/roles/database/tasks/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..1a4062933d6248bf65f362d35226836280e29533 --- /dev/null +++ b/roles/database/tasks/main.yml @@ -0,0 +1,8 @@ +--- + +- name: "Create database {{ db_name }}" + mysql_db: name="{{ db_name }}" state=present + +- name: "Create database user {{ db_name }}" + mysql_user: name="{{ db_name }}" password="{{ db_password }}" + priv=*.*:ALL state=present diff --git a/testsite/playbooks/roles/phpinfo/meta/main.yml b/testsite/playbooks/roles/phpinfo/meta/main.yml index 343d5c7a133c06be6976d2f7a732ff958de49243..9c1880ffcde679868f133fff49cabffc8dab38d3 100644 --- a/testsite/playbooks/roles/phpinfo/meta/main.yml +++ b/testsite/playbooks/roles/phpinfo/meta/main.yml @@ -9,3 +9,6 @@ dependencies: uid: 2000 https_tls_key: "{{ inventory_dir }}/tls/phpinfo.example.com_https.key" https_tls_certificate: "{{ inventory_dir }}/tls/phpinfo.example.com_https.pem" + - role: database + db_name: phpinfo_example_com + db_password: phpinfo_example_com \ No newline at end of file diff --git a/testsite/playbooks/roles/wsgihello/meta/main.yml b/testsite/playbooks/roles/wsgihello/meta/main.yml index ee933f31666387177625d3164d9b963446ad435c..4d6ffd83d48e92f46c28c415da8405e01a8f4cc9 100644 --- a/testsite/playbooks/roles/wsgihello/meta/main.yml +++ b/testsite/playbooks/roles/wsgihello/meta/main.yml @@ -10,3 +10,6 @@ dependencies: - /static/ https_tls_key: "{{ inventory_dir }}/tls/wsgi.example.com_https.key" https_tls_certificate: "{{ inventory_dir }}/tls/wsgi.example.com_https.pem" + - role: database + db_name: wsgi_example_com + db_password: wsgi_example_com \ No newline at end of file