A hosting service for Jekyll Blogs
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

60 lines
1.4 KiB

- name: Install packages to support postgres
apt:
name: [
'libssl-dev',
'libpq-dev',
'libz-dev',
'libexpat1-dev',
'postgresql-client',
'postgresql-contrib',
'postgresql',
'python3-psycopg2',
]
state: present
- name: Start & enable postgres
service:
name: postgresql
state: started
enabled: true
- name: Create database users
postgresql_user:
name: "{{ item.value.user }}"
password: "{{ item.value.pass }}"
state: present
become_user: postgres
become: true
with_dict: "{{ databases }}"
- name: Create databases
postgresql_db:
name: "{{ item.value.name }}"
owner: "{{ item.value.user }}"
state: present
become_user: postgres
become: true
with_dict: "{{ databases }}"
- name: Add auth lines to pgsql hba config
postgresql_pg_hba:
dest: /etc/postgresql/13/main/pg_hba.conf
contype: host
source: "{{ item }}/32"
method: md5
create: true
with_items: "{{ database.allow_addresses }}"
notify: Restart postgresql
- name: "Bind PSQL to localhost and {{ database.bind }}"
lineinfile:
path: /etc/postgresql/13/main/postgresql.conf
regexp: '^listen_addresses '
insertafter: '^#listen_addresses'
line: "listen_addresses = 'localhost,{{ database.bind_address }}'"
notify: Restart postgresql
- name: "Restart PSQL if notified."
meta: flush_handlers