Finished lb and db
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
This commit is contained in:
6
roles/postgres/handlers/main.yml
Normal file
6
roles/postgres/handlers/main.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
- name: Restart postgres
|
||||
systemd:
|
||||
name: postgres
|
||||
state: restarted
|
||||
become: true
|
||||
10
roles/postgres/tasks/ansible_deps.yml
Normal file
10
roles/postgres/tasks/ansible_deps.yml
Normal 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
|
||||
49
roles/postgres/tasks/configuration.yml
Normal file
49
roles/postgres/tasks/configuration.yml
Normal 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/"
|
||||
14
roles/postgres/tasks/installation.yml
Normal file
14
roles/postgres/tasks/installation.yml
Normal 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
|
||||
4
roles/postgres/tasks/main.yml
Normal file
4
roles/postgres/tasks/main.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
- include_tasks: ansible_deps.yml
|
||||
- include_tasks: installation.yml
|
||||
- include_tasks: configuration.yml
|
||||
21
roles/postgres/vars/main.yml
Normal file
21
roles/postgres/vars/main.yml
Normal 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
|
||||
Reference in New Issue
Block a user