Ajout proxy postgresql

This commit is contained in:
stef
2026-07-29 03:14:39 +00:00
parent 3dcc57ff2c
commit 82cbb26838
13 changed files with 446 additions and 70 deletions

View File

@@ -1,8 +1,8 @@
- name: Agent2 - Install packages
ansible.builtin.apt:
ansible.builtin.dnf:
name: "{{ item }}"
state: latest
state: present
loop: "{{ agent.packages }}"
tags:
- install_agent
@@ -10,7 +10,8 @@
- name: Agent2 - Find Group
set_fact:
my_group: "{{ group_names | first }}"
tags:
- install_agent
- name: Agent2 - Créer la liste des hôtes correspondant aux rôles cibles
set_fact:
hotes_filtres: >-
@@ -19,15 +20,18 @@
selectattr('role', 'in', roles_cibles) |
map(attribute='inventory_hostname') |
list }}
tags:
- install_agent
- name: Agent2 - Generate Server List
set_fact:
Server: "{{ hotes_filtres | join(',') }}"
tags:
- install_agent
- name: Agent2 - Generate ActiveServer List
set_fact:
ServerActive: "{{ hotes_filtres | join(';') }}"
tags:
- install_agent
- name: Agent2 - Generate agent2 config
ansible.builtin.template:
src: zabbix_agent2.conf.j2
@@ -35,7 +39,8 @@
owner: zabbix
group: zabbix
mode: 0640
tags:
- install_agent
- name: Agent2 - Create cert directory if zabbix_crypt=="tls"
ansible.builtin.file:
path: "/etc/zabbix/certs"
@@ -44,7 +49,8 @@
owner: zabbix
group: zabbix
when: zabbix_crypt=="tls"
tags:
- install_agent
- name: Agent2 - Copy Certificats
ansible.builtin.copy:
src: "{{ item }}"
@@ -56,6 +62,8 @@
- "{{ zabbix_agent }}.crt"
- "{{ zabbix_agent }}.key"
when: zabbix_crypt=="tls"
tags:
- install_agent
- name: Enable and start service zabbix agent2
ansible.builtin.service:
@@ -64,3 +72,5 @@
enabled: true
loop:
- zabbix-agent2
tags:
- install_agent

View File

@@ -1,43 +1,89 @@
- name: Proxy - Install Debian Proxy packages
- name: Proxy - Install packages (mysql)
ansible.builtin.dnf:
name: "{{ item }}"
state: present
loop: "{{ proxy.packages }}"
tags:
- install_proxy
- name: Proxy - Enable and start service mariadb
ansible.builtin.service:
name: mariadb
state: started
enabled: yes
loop: "{{ proxy_mysql.packages }}"
when: proxy_db_type == "mysql"
tags:
- install_proxy
- name: Proxy - Generate mariadb proxy creation script
ansible.builtin.template:
src: create_proxy_db.j2
dest: /tmp/create_proxy_db.sql
tags:
- install_proxy
- name: Proxy - Create mariadb proxy database
ansible.builtin.shell: mysql -uroot < /tmp/create_proxy_db.sql
tags:
- install_proxy
- name: Proxy - Populate mariadb proxy database
ansible.builtin.shell: 'cat /usr/share/zabbix/sql-scripts/mysql/proxy.sql | mysql --default-character-set=utf8mb4 -u{{proxy_db_user}} --password={{proxy_db_passwd}} {{proxy_db_name}}'
tags:
- install_proxy
- name: Proxy - Enable and restart mariadb
ansible.builtin.systemd_service:
- name: Proxy - Install packages (postgresql)
ansible.builtin.dnf:
name: "{{ item }}"
state: started
enabled: true
loop:
- mariadb
state: present
loop: "{{ proxy_postgresql.packages }}"
when: proxy_db_type == "postgresql"
tags:
- install_proxy
- name: Proxy - Setup mysql proxy database
when: proxy_db_type == "mysql"
tags:
- install_proxy
block:
- name: Proxy - Enable and start service mariadb
ansible.builtin.service:
name: mariadb
state: started
enabled: yes
- name: Proxy - Generate mariadb proxy creation script
ansible.builtin.template:
src: create_proxy_db.j2
dest: /tmp/create_proxy_db.sql
- name: Proxy - Create mariadb proxy database
ansible.builtin.shell: mysql -uroot < /tmp/create_proxy_db.sql
- name: Proxy - Populate mariadb proxy database
ansible.builtin.shell: 'cat /usr/share/zabbix/sql-scripts/mysql/proxy.sql | mysql --default-character-set=utf8mb4 -u{{proxy_db_user}} --password={{proxy_db_passwd}} {{proxy_db_name}}'
- name: Proxy - Setup postgresql proxy database
when: proxy_db_type == "postgresql"
tags:
- install_proxy
block:
- name: Proxy - Check if postgresql is configured
ansible.builtin.stat:
path: /var/lib/pgsql/data/PG_VERSION
register: proxy_postgresqldata
- name: Proxy - Init DB
ansible.builtin.shell:
cmd: postgresql-setup --initdb
when: proxy_postgresqldata.stat.exists == false
- name: Proxy - Enable and start service postgresql
ansible.builtin.service:
name: postgresql
state: started
enabled: yes
- name: Proxy - Generate postgresql proxy creation script
ansible.builtin.template:
src: create_proxy_db_pg.j2
dest: /tmp/create_proxy_db_pg.sql
owner: postgres
- name: Proxy - Create postgresql proxy database
ansible.builtin.shell: su - postgres -c 'psql -f /tmp/create_proxy_db_pg.sql'
- name: Proxy - Add proxy 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 {{ proxy_db_name }} {{ proxy_db_user }} trust"
firstmatch: yes
state: present
- name: Proxy - Restart postgresql
ansible.builtin.service:
name: postgresql
state: restarted
enabled: yes
- name: Proxy - Populate postgresql proxy database
ansible.builtin.shell: 'cat /usr/share/zabbix/sql-scripts/postgresql/proxy.sql | psql -U{{ proxy_db_user }} {{ proxy_db_name }}'
- name: Find Group
set_fact:

View File

@@ -0,0 +1,76 @@
# Web
- name: Web - Install packages
ansible.builtin.dnf:
name: "{{ item }}"
state: present
loop: "{{ web.packages }}"
tags:
- install_web
- name: Web - Find Group
set_fact:
my_group: "{{ group_names | first }}"
tags:
- install_web
- name: Web - Créer la liste des hôtes correspondant aux rôles cibles
set_fact:
hotes_filtres: >-
{{ groups[my_group] |
map('extract', hostvars) |
selectattr('role', 'in', roles_cibles) |
map(attribute='inventory_hostname') |
list }}
tags:
- install_web
- name: Web - Generate Server List
set_fact:
Server: "{{ hotes_filtres | join(',') }}"
tags:
- install_web
- name: Web - Generate config
ansible.builtin.template:
src: zabbix_web_service.conf.j2
dest: /etc/zabbix/zabbix_web_service.conf
owner: zabbix
group: zabbix
mode: 0640
tags:
- install_web
- name: Web - Create cert directory if zabbix_crypt=="tls"
ansible.builtin.file:
path: "/etc/zabbix/certs"
state: directory
recurse: yes
owner: zabbix
group: zabbix
when: zabbix_crypt=="tls"
tags:
- install_web
- name: Web - Copy Certificats
ansible.builtin.copy:
src: "{{ item }}"
dest: "/etc/zabbix/certs/{{ item }}"
owner: zabbix
group: zabbix
loop:
- "{{ zabbix_ca }}.crt"
- "{{ zabbix_web }}.crt"
- "{{ zabbix_web }}.key"
- "{{ zabbix_agent }}.crt"
- "{{ zabbix_agent }}.key"
when: zabbix_crypt=="tls"
tags:
- install_web
- name: Web -Enable and start service zabbix web
ansible.builtin.service:
name: "{{ item }}"
state: restarted
enabled: true
loop:
- zabbix-web-service
- zabbix-agent2
tags:
- install_web