aboutsummaryrefslogtreecommitdiffstats
path: root/roles/postgres/tasks
diff options
context:
space:
mode:
authorRomain Gonçalves <me@rgoncalves.se>2021-07-29 17:00:20 +0200
committerRomain Gonçalves <me@rgoncalves.se>2021-07-29 17:00:20 +0200
commitb232b894c3cbe087c8d504e91637dcf62199eed1 (patch)
treeea72a7d1a7f63c6425ee46785e1cec924351b2c3 /roles/postgres/tasks
parent22126073344e60c405d086df37b64da0c6d3c086 (diff)
downloadinfrastructure-b232b894c3cbe087c8d504e91637dcf62199eed1.tar.gz
Bump to third revision of homelab
Diffstat (limited to 'roles/postgres/tasks')
-rw-r--r--roles/postgres/tasks/create_db.yml4
-rw-r--r--roles/postgres/tasks/create_user.yml4
-rw-r--r--roles/postgres/tasks/main.yml31
3 files changed, 16 insertions, 23 deletions
diff --git a/roles/postgres/tasks/create_db.yml b/roles/postgres/tasks/create_db.yml
new file mode 100644
index 0000000..9adb6ee
--- /dev/null
+++ b/roles/postgres/tasks/create_db.yml
@@ -0,0 +1,4 @@
+- name: ensure miniflux database exists
+ shell: createdb -U postgres -O "{{ postgres_db_user }}" "{{ postgres_db_name }}"
+ register: result
+ failed_when: result.rc != 0 and "already exists" not in result.stderr
diff --git a/roles/postgres/tasks/create_user.yml b/roles/postgres/tasks/create_user.yml
new file mode 100644
index 0000000..123070d
--- /dev/null
+++ b/roles/postgres/tasks/create_user.yml
@@ -0,0 +1,4 @@
+- name: ensure miniflux db user exists
+ shell: createuser -U postgres "{{ postgres_db_user }}"
+ register: result
+ failed_when: result.rc != 0 and "already exists" not in result.stderr
diff --git a/roles/postgres/tasks/main.yml b/roles/postgres/tasks/main.yml
index 16fce30..80d7aad 100644
--- a/roles/postgres/tasks/main.yml
+++ b/roles/postgres/tasks/main.yml
@@ -4,34 +4,14 @@
---
-- name: ensure postgres is installed for OpenBSD
+- name: ensure postgres is installed
package:
name: "{{ item }}"
state: present
- when: ansible_distribution == "OpenBSD"
loop:
- "postgresql-server"
- "postgresql-contrib"
-- name: ensure postgres is installed
- package: name=postgresql state=present
- ignore_errors: true
- when: ansible_distribution != "OpenBSD"
-
-- name: ensure postgres group exists
- group: name="{{ postgres_group }}" state=present
-
-- name: ensure postgres user exists
- user:
- name: "{{ postgres_user }}"
- group: "{{ postgres_group }}"
- system: true
- state: present
-
-- name: delete default data dir if exists
- file: path=/var/postgresql state=absent
- when: postgres_dir != "/var/postgresql"
-
- name: ensure postgres directories exists
file:
path: "{{ postgres_dir }}/{{ item }}"
@@ -43,10 +23,16 @@
- ""
- "data"
+- name: delete default data dir if exists
+ file:
+ path: "{{ postgres_default_dir }}"
+ state: absent
+ when: postgres_dir != "/var/postgresql"
+
- name: link postgres directory to default one
file:
src: "{{ postgres_dir }}"
- dest: "/var/postgresql"
+ dest: "{{ postgres_default_dir }}"
owner: "{{ postgres_user }}"
group: "{{ postgres_group }}"
state: link
@@ -57,7 +43,6 @@
# NOTE: this tasks needs `pipelining` set to `false` to work correctly
- name: init postgres database
shell: |
- initdb -D "{{ postgres_dir }}/data/" -U "{{ postgres_dbuser }}" --encoding=UTF-8 --locale=en_US.UTF-8 {# --auth=scram-sha-256 --pwprompt #}
su - _postgresql -c \
'initdb -D "{{ postgres_dir }}/data/" -U "{{ postgres_dbuser }}" \
--encoding=UTF-8 \
remember that computers suck.