This repository has been archived on 2026-05-25. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
zx_ansible_tools/ansible-continuous-delivery/roles/install-postgres/tasks/main.yml
T
Antoine Ouvrard 749b7a84a0 readd directory
2023-03-09 17:27:02 +01:00

100 lines
2.4 KiB
YAML

---
- name: Vérification de la présence des paramètres d'entrées dans les variables
ansible.builtin.fail:
msg: |
La variable {{ item }} est obligatoire pour utiliser le role.
Veuillez la renseigner dans le dossier host_vars.
when:
- item is not defined
loop:
- db_user
- db_password
- db_name
- name: Apt Update and Install Postgres
ansible.builtin.apt:
update_cache: true
name:
- postgresql
- acl
- python3-psycopg2
state: present
when: ansible_pkg_mgr == "apt"
- name: Yum Update and Install Postgres
ansible.builtin.yum:
update_cache: true
name:
- postgresql
- postgresql-server
- postgresql-contrib
- acl
- python3-psycopg2
state: present
when: ansible_pkg_mgr == "yum"
- name: Dnf Update and Install Postgres
ansible.builtin.dnf:
update_cache: true
name:
- postgresql
- postgresql-server
- postgresql-contrib
- acl
- python3-psycopg2
state: present
when: ansible_pkg_mgr == "dnf"
- name: Yum/Dnf management
when: ansible_pkg_mgr == "dnf" or ansible_pkg_mgr == "yum"
block:
- name: Find out if PostgreSQL is initialized
ansible.builtin.stat:
path: "/var/lib/pgsql/data/pg_hba.conf"
register: postgres_data
- name: Init database only for Yum/Dnf OS
ansible.builtin.command: /usr/bin/postgresql-setup --initdb
when: not postgres_data.stat.exists
- name: Start and enable services
ansible.builtin.service:
name: postgresql
state: started
enabled: true
- name: Create db user
community.postgresql.postgresql_user:
state: present
name: "{{ db_user }}"
password: "{{ db_password }}"
role_attr_flags: CREATEDB
become: true
become_user: postgres
- name: Allow md5 connection for the db user
community.postgresql.postgresql_pg_hba:
dest: "/etc/postgresql/12/main/pg_hba.conf"
contype: host
databases: all
method: md5
users: "{{ db_user }}"
create: true
become: true
become_user: postgres
notify: Restart postgres
when: ansible_pkg_mgr == "apt"
- name: Allow md5 connection for the db user
community.postgresql.postgresql_pg_hba:
dest: "~/data/pg_hba.conf"
contype: host
databases: all
method: md5
users: "{{ db_user }}"
create: true
become: true
become_user: postgres
notify: Restart postgres
when: ansible_pkg_mgr == "dnf" or ansible_pkg_mgr == "yum"