From bf4afbdc7aaa711056502d6b6050d6f5e030edba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Fra=C3=9F?= Date: Mon, 18 Dec 2023 00:19:03 +0100 Subject: [PATCH] [add] role:postgresql-for-hedgedoc --- .../defaults/main.json | 5 +++ .../postgresql-for-hedgedoc/tasks/main.json | 45 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 ansible/roles/postgresql-for-hedgedoc/defaults/main.json create mode 100644 ansible/roles/postgresql-for-hedgedoc/tasks/main.json diff --git a/ansible/roles/postgresql-for-hedgedoc/defaults/main.json b/ansible/roles/postgresql-for-hedgedoc/defaults/main.json new file mode 100644 index 0000000..a0e1eeb --- /dev/null +++ b/ansible/roles/postgresql-for-hedgedoc/defaults/main.json @@ -0,0 +1,5 @@ +{ + "var_postgresql_for_hedgedoc_username": "hedgedoc_user", + "var_postgresql_for_hedgedoc_password": "REPLACE_ME", + "var_postgresql_for_hedgedoc_schema": "hedgedoc" +} diff --git a/ansible/roles/postgresql-for-hedgedoc/tasks/main.json b/ansible/roles/postgresql-for-hedgedoc/tasks/main.json new file mode 100644 index 0000000..85431cc --- /dev/null +++ b/ansible/roles/postgresql-for-hedgedoc/tasks/main.json @@ -0,0 +1,45 @@ +[ + { + "name": "packages", + "become": true, + "ansible.builtin.apt": { + "pkg": [ + "acl", + "python3-psycopg2" + ] + } + }, + { + "name": "user", + "become": true, + "become_user": "postgres", + "community.postgresql.postgresql_user": { + "state": "present", + "name": "{{var_postgresql_for_hedgedoc_username}}", + "password": "{{var_postgresql_for_hedgedoc_password}}" + } + }, + { + "name": "schema", + "become": true, + "become_user": "postgres", + "community.postgresql.postgresql_db": { + "state": "present", + "name": "{{var_postgresql_for_hedgedoc_schema}}", + "owner": "{{var_postgresql_for_hedgedoc_username}}" + } + }, + { + "name": "rights", + "become": true, + "become_user": "postgres", + "community.postgresql.postgresql_privs": { + "state": "present", + "db": "{{var_postgresql_for_hedgedoc_schema}}", + "objs": "ALL_IN_SCHEMA", + "roles": "{{var_postgresql_for_hedgedoc_username}}", + "privs": "ALL", + "grant_option": true + } + } +]