95 lines
2.4 KiB
YAML
95 lines
2.4 KiB
YAML
|
|
|
|
- name: Database - Install RHEL packages
|
|
ansible.builtin.dnf:
|
|
name: "{{ item }}"
|
|
state: present
|
|
loop: "{{ db.packages }}"
|
|
tags:
|
|
- install_db
|
|
|
|
- name: Database - Check if postgresql is configured
|
|
stat:
|
|
path: /var/lib/pgsql/data/PG_VERSION
|
|
register: postgresqldata
|
|
|
|
- name: Database - Init DB
|
|
ansible.builtin.shell:
|
|
cmd: postgresql-setup --initdb
|
|
when: postgresqldata.stat.exists == false
|
|
tags:
|
|
- install_db
|
|
|
|
- name: Database - Enable and start service postgresl
|
|
ansible.builtin.service:
|
|
name: postgresql
|
|
state: started
|
|
enabled: yes
|
|
tags:
|
|
- install_db
|
|
|
|
- name: Database - Generate create db script
|
|
ansible.builtin.template:
|
|
src: create_db.j2
|
|
dest: /tmp/create_db.sql
|
|
owner: postgres
|
|
tags:
|
|
- install_db
|
|
|
|
- name: Database - Run create db script
|
|
ansible.builtin.shell: su - postgres -c 'psql -f /tmp/create_db.sql'
|
|
tags:
|
|
- install_db
|
|
|
|
- name: Database - Add zabbix user to pg_hba
|
|
ansible.builtin.lineinfile:
|
|
path: /var/lib/pgsql/data/pg_hba.conf
|
|
insertafter: '# "local" is for Unix domain socket connections only'
|
|
line: "local {{ db_name }} {{ db_user }} trust"
|
|
firstmatch: yes
|
|
state: present
|
|
|
|
- name: Database -Find Group
|
|
set_fact:
|
|
my_group: "{{ group_names | first }}"
|
|
|
|
- name: Database - Créer les entrées pg_hba pour tous les hosts avec rôle 'srv'
|
|
lineinfile:
|
|
path: /var/lib/pgsql/data/pg_hba.conf
|
|
line: "host {{ db_name }} {{ db_user }} {{ hostvars[item]['ansible_default_ipv4']['address'] }}/32 md5"
|
|
state: present
|
|
loop: "{{ groups[my_group] }}"
|
|
when:
|
|
- hostvars[item].role is defined
|
|
- hostvars[item].role == 'srv' or hostvars[item].role == 'front'
|
|
- hostvars[item]['ansible_default_ipv4'] is defined
|
|
|
|
- name: Database - Configure postgres Listen address
|
|
ansible.builtin.lineinfile:
|
|
path: /var/lib/pgsql/data/postgresql.conf
|
|
regexp: '^#listen_addresses = .*'
|
|
line: "listen_addresses = '*'"
|
|
tags:
|
|
- install_db
|
|
|
|
|
|
- name: Database - Restart postgresql
|
|
service:
|
|
name: postgresql
|
|
state: restarted
|
|
enabled: true
|
|
tags:
|
|
- install_db
|
|
|
|
- name: Populate zabbix database
|
|
ansible.builtin.shell: 'zcat /usr/share/zabbix/sql-scripts/postgresql/server.sql.gz | psql -Uzabbix zabbix'
|
|
tags:
|
|
- install_db
|
|
|
|
- name: Proxy - Enable and start service zabbix component
|
|
ansible.builtin.service:
|
|
name: "{{ item }}"
|
|
state: restarted
|
|
enabled: true
|
|
loop:
|
|
- zabbix-agent2 |