Finished lb and db

Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
This commit is contained in:
Tuan-Dat Tran
2024-09-19 23:10:00 +02:00
parent 50abbf933c
commit 51a49d003d
51 changed files with 384 additions and 367 deletions

View File

@@ -0,0 +1,6 @@
---
- name: Restart postgres
systemd:
name: postgres
state: restarted
become: true

View File

@@ -0,0 +1,10 @@
---
- name: Update apt cache
apt:
update_cache: yes
become: true
- name: Install ansible dependencies
apt:
name: "{{ ansible_dependencies }}"
become: true

View File

@@ -0,0 +1,49 @@
---
- name: "Create postgres user: {{ db.user }}"
community.postgresql.postgresql_user:
state: present
name: "{{ db.user }}"
password: "{{ db.password }}"
become: true
become_user: "{{ db.default_user.user }}"
vars:
ansible_remote_temp: "/tmp/"
- name: "Create database: {{ db.name }}"
community.postgresql.postgresql_db:
state: present
name: "{{ db.name }}"
encoding: UTF8
lc_collate: "en_US.UTF-8"
lc_ctype: "en_US.UTF-8"
become: yes
become_user: postgres
vars:
ansible_remote_temp: "/tmp/"
- name: "Grant {{ db.user }} user access to db {{ db.name }}"
postgresql_privs:
type: database
database: "{{ db.name }}"
roles: "{{ db.user }}"
grant_option: no
privs: all
become: yes
become_user: postgres
vars:
ansible_remote_temp: "/tmp/"
- name: "Allow md5 connection for the {{ db.user }} user"
postgresql_pg_hba:
dest: "~/15/main/pg_hba.conf"
contype: host
databases: all
method: md5
users: "{{ db.user }}"
create: true
become: yes
become_user: postgres
notify:
- Restart postgres
vars:
ansible_remote_temp: "/tmp/"

View File

@@ -0,0 +1,14 @@
---
- name: Install postgres
apt:
name: "{{ postgres_packages }}"
state: present
become: true
register: postgres_install
- name: Start and enable the service
systemd:
name: postgresql
state: started
enabled: true
become: true

View File

@@ -0,0 +1,4 @@
---
- include_tasks: ansible_deps.yml
- include_tasks: installation.yml
- include_tasks: configuration.yml

View File

@@ -0,0 +1,21 @@
############################################
############### CHANGE THESE ###############
############################################
db:
default_user:
user: "postgres"
name: "database"
user: "user"
password: "password"
############################################
# Don't change these (probably)
ansible_dependencies:
- python3-pip
- python3-psycopg
- python3-pexpect
- acl
postgres_packages:
- postgresql
- postgresql-client