186 lines
13 KiB
YAML
186 lines
13 KiB
YAML
---
|
|
### Sessions:
|
|
|
|
- name: "Variables : Agent2 : Generate list of Mysql plugin certificate sources"
|
|
when: >
|
|
agent_param_plugins_mysql_sessions is defined
|
|
and agent_param_plugins_mysql_sessions
|
|
and item.tlsconnect is defined and item.tlsconnect
|
|
vars:
|
|
agent_internal_item_folder: .CERT/MYSQL
|
|
ansible.builtin.set_fact:
|
|
agent_internal_plugins_mysql_tls_file_list: '{{ (agent_internal_plugins_mysql_tls_file_list | default([])) + [{"session_name": item.name, "type": "ca", "source":
|
|
item.source_tlscafile | default(omit), "target": item.tlscafile if item.source_tlscafile is not defined else agent_service_user_home + "/" + agent_binary_name
|
|
| upper + "/" + agent_internal_item_folder + "/" + item.name + "." + item.source_tlscafile | basename}] + [{"session_name": item.name, "type": "cert", "source":
|
|
item.source_tlscertfile | default(omit), "target": item.tlscertfile if item.source_tlscertfile is not defined else agent_service_user_home + "/" + agent_binary_name
|
|
| upper + "/" + agent_internal_item_folder + "/" + item.name + "." + item.source_tlscertfile | basename}] + [{"session_name": item.name, "type": "key", "source":
|
|
item.source_tlskeyfile | default(omit), "target": item.tlskeyfile if item.source_tlskeyfile is not defined else agent_service_user_home + "/" + agent_binary_name
|
|
| upper + "/" + agent_internal_item_folder + "/" + item.name + "." + item.source_tlskeyfile | basename}] }}'
|
|
loop_control:
|
|
label: "{{ item.name }}"
|
|
loop: "{{ agent_param_plugins_mysql_sessions }}"
|
|
tags: [vars, verify, deploy, config]
|
|
|
|
- name: "Variables : Agent2 : Generate list of PostgreSQL plugin certificate sources"
|
|
when: >
|
|
agent_param_plugins_postgresql_sessions is defined
|
|
and agent_param_plugins_postgresql_sessions
|
|
and item.tlsconnect is defined and item.tlsconnect
|
|
vars:
|
|
agent_internal_item_folder: .CERT/POSTGRESQL
|
|
ansible.builtin.set_fact:
|
|
agent_internal_plugins_postgresql_tls_file_list: '{{ (agent_internal_plugins_postgresql_tls_file_list | default([])) + [{"session_name": item.name, "type": "ca",
|
|
"source": item.source_tlscafile | default(omit), "target": item.tlscafile if item.source_tlscafile is not defined else agent_service_user_home + "/" + agent_binary_name
|
|
| upper + "/" + agent_internal_item_folder + "/" + item.name + "." + item.source_tlscafile | basename}] + [{"session_name": item.name, "type": "cert", "source":
|
|
item.source_tlscertfile | default(omit), "target": item.tlscertfile if item.source_tlscertfile is not defined else agent_service_user_home + "/" + agent_binary_name
|
|
| upper + "/" + agent_internal_item_folder + "/" + item.name + "." + item.source_tlscertfile | basename}] + [{"session_name": item.name, "type": "key", "source":
|
|
item.source_tlskeyfile | default(omit), "target": item.tlskeyfile if item.source_tlskeyfile is not defined else agent_service_user_home + "/" + agent_binary_name
|
|
| upper + "/" + agent_internal_item_folder + "/" + item.name + "." + item.source_tlskeyfile | basename}] }}'
|
|
loop_control:
|
|
label: "{{ item.name }}"
|
|
loop: "{{ agent_param_plugins_postgresql_sessions }}"
|
|
tags: [vars, verify, deploy, config]
|
|
|
|
- name: "Variables : Agent2 : Generate list of MongoDB plugin certs"
|
|
when: >
|
|
agent_param_plugins_mongodb_sessions is defined
|
|
and agent_param_plugins_mongodb_sessions
|
|
and item.tlsconnect is defined and item.tlsconnect
|
|
vars:
|
|
agent_internal_item_folder: .CERT/MONGODB
|
|
ansible.builtin.set_fact:
|
|
agent_internal_plugins_mongodb_tls_file_list: '{{ (agent_internal_plugins_mongodb_tls_file_list | default([])) + [{"session_name": item.name, "type": "ca", "source":
|
|
item.source_tlscafile | default(omit), "target": item.tlscafile if item.source_tlscafile is not defined else agent_service_user_home + "/" + agent_binary_name
|
|
| upper + "/" + agent_internal_item_folder + "/" + item.name + "." + item.source_tlscafile | basename}] + [{"session_name": item.name, "type": "cert", "source":
|
|
item.source_tlscertfile | default(omit), "target": item.tlscertfile if item.source_tlscertfile is not defined else agent_service_user_home + "/" + agent_binary_name
|
|
| upper + "/" + agent_internal_item_folder + "/" + item.name + "." + item.source_tlscertfile | basename}] + [{"session_name": item.name, "type": "key", "source":
|
|
item.source_tlskeyfile | default(omit), "target": item.tlskeyfile if item.source_tlskeyfile is not defined else agent_service_user_home + "/" + agent_binary_name
|
|
| upper + "/" + agent_internal_item_folder + "/" + item.name + "." + item.source_tlskeyfile | basename}] }}'
|
|
loop_control:
|
|
label: "{{ item.name }}"
|
|
loop: "{{ agent_param_plugins_mongodb_sessions }}"
|
|
tags: [vars, verify, deploy, config]
|
|
|
|
- name: "Variables : Agent2 : Generate list of MQTT plugin certificate sources"
|
|
when: >
|
|
agent_param_plugins_mqtt_sessions is defined
|
|
and agent_param_plugins_mqtt_sessions
|
|
vars:
|
|
agent_internal_item_folder: .CERT/MQTT
|
|
ansible.builtin.set_fact:
|
|
agent_internal_plugins_mqtt_tls_file_list: '{{ (agent_internal_plugins_mqtt_tls_file_list | default([])) + [{"session_name": item.name, "type": "ca", "source":
|
|
item.source_tlscafile | default(omit), "target": item.tlscafile if item.source_tlscafile is not defined else agent_service_user_home + "/" + agent_binary_name
|
|
| upper + "/" + agent_internal_item_folder + "/" + item.name + "." + item.source_tlscafile | basename}] + [{"session_name": item.name, "type": "cert", "source":
|
|
item.source_tlscertfile | default(omit), "target": item.tlscertfile if item.source_tlscertfile is not defined else agent_service_user_home + "/" + agent_binary_name
|
|
| upper + "/" + agent_internal_item_folder + "/" + item.name + "." + item.source_tlscertfile | basename}] + [{"session_name": item.name, "type": "key", "source":
|
|
item.source_tlskeyfile | default(omit), "target": item.tlskeyfile if item.source_tlskeyfile is not defined else agent_service_user_home + "/" + agent_binary_name
|
|
| upper + "/" + agent_internal_item_folder + "/" + item.name + "." + item.source_tlskeyfile | basename}] }}'
|
|
loop_control:
|
|
label: "{{ item.name }}"
|
|
loop: "{{ agent_param_plugins_mqtt_sessions }}"
|
|
tags: [vars, verify, deploy, config]
|
|
|
|
- name: "Variables : Agent2 : Generate list of MSSQL plugin certificate sources"
|
|
when: >
|
|
agent_param_plugins_mssql_sessions is defined
|
|
and agent_param_plugins_mssql_sessions
|
|
and (item.cacertpath is defined and item.cacertpath
|
|
or item.source_cacertpath is defined and item.source_cacertpath)
|
|
vars:
|
|
agent_internal_item_folder: .CERT/MSSQL
|
|
ansible.builtin.set_fact:
|
|
agent_internal_plugins_mssql_tls_file_list: '{{ (agent_internal_plugins_mssql_tls_file_list | default([])) + [{"session_name": item.name, "type": "ca", "source":
|
|
item.source_cacertpath | default(omit), "target": item.cacertpath if item.source_cacertpath is not defined else agent_service_user_home + "/" + agent_binary_name
|
|
| upper + "/" + agent_internal_item_folder + "/" + item.name + "." + item.source_cacertpath | basename}] }}'
|
|
loop_control:
|
|
label: "{{ item.name }}"
|
|
loop: "{{ agent_param_plugins_mssql_sessions }}"
|
|
tags: [vars, verify, deploy, config]
|
|
|
|
### Defaults:
|
|
|
|
- name: "Variables : Agent2 : Default : Generate list of Mysql plugin certificate sources"
|
|
when: >
|
|
agent_internal_item is defined
|
|
and agent_internal_item.tlsconnect is defined
|
|
and agent_internal_item.tlsconnect
|
|
vars:
|
|
agent_internal_item: "{{ agent_param_plugins_mysql_default }}"
|
|
agent_internal_item_folder: .CERT/MYSQL/DEFAULT
|
|
ansible.builtin.set_fact:
|
|
agent_internal_plugins_mysql_default_tls_file_list: '{{ [{"type": "ca", "source": agent_internal_item.source_tlscafile | default(omit), "target": agent_internal_item.tlscafile
|
|
if agent_internal_item.source_tlscafile is not defined else agent_service_user_home + "/" + agent_binary_name | upper + "/" + agent_internal_item_folder + "/"
|
|
+ agent_internal_item.source_tlscafile | basename}, {"type": "cert", "source": agent_internal_item.source_tlscertfile | default(omit), "target": agent_internal_item.tlscertfile
|
|
if agent_internal_item.source_tlscertfile is not defined else agent_service_user_home + "/" + agent_binary_name | upper + "/" + agent_internal_item_folder +
|
|
"/" + agent_internal_item.source_tlscertfile | basename}, {"type": "key", "source": agent_internal_item.source_tlskeyfile | default(omit), "target": agent_internal_item.tlskeyfile
|
|
if agent_internal_item.source_tlskeyfile is not defined else agent_service_user_home + "/" + agent_binary_name | upper + "/" + agent_internal_item_folder +
|
|
"/" + agent_internal_item.source_tlskeyfile | basename}] }}'
|
|
tags: [vars, verify, deploy, config]
|
|
|
|
- name: "Variables : Agent2 : Default : Generate list of PostgreSQL plugin certificate sources"
|
|
when: >
|
|
agent_internal_item is defined
|
|
and agent_internal_item.tlsconnect is defined
|
|
and agent_internal_item.tlsconnect
|
|
vars:
|
|
agent_internal_item: "{{ agent_param_plugins_postgresql_default }}"
|
|
agent_internal_item_folder: .CERT/POSTGRESQL/DEFAULT
|
|
ansible.builtin.set_fact:
|
|
agent_internal_plugins_postgresql_default_tls_file_list: '{{ [{"type": "ca", "source": agent_internal_item.source_tlscafile | default(omit), "target": agent_internal_item.tlscafile
|
|
if agent_internal_item.source_tlscafile is not defined else agent_service_user_home + "/" + agent_binary_name | upper + "/" + agent_internal_item_folder + "/"
|
|
+ agent_internal_item.source_tlscafile | basename}, {"type": "cert", "source": agent_internal_item.source_tlscertfile | default(omit), "target": agent_internal_item.tlscertfile
|
|
if agent_internal_item.source_tlscertfile is not defined else agent_service_user_home + "/" + agent_binary_name | upper + "/" + agent_internal_item_folder +
|
|
"/" + agent_internal_item.source_tlscertfile | basename}, {"type": "key", "source": agent_internal_item.source_tlskeyfile | default(omit), "target": agent_internal_item.tlskeyfile
|
|
if agent_internal_item.source_tlskeyfile is not defined else agent_service_user_home + "/" + agent_binary_name | upper + "/" + agent_internal_item_folder +
|
|
"/" + agent_internal_item.source_tlskeyfile | basename}] }}'
|
|
tags: [vars, verify, deploy, config]
|
|
|
|
- name: "Variables : Agent2 : Default : Generate list of MQTT plugin certificate sources"
|
|
when: >
|
|
agent_internal_item is defined
|
|
and (agent_internal_item.source_tlscafile is defined
|
|
or agent_internal_item.source_tlscertfile is defined
|
|
or agent_internal_item.source_tlskeyfile is defined
|
|
or agent_internal_item.tlscafile is defined
|
|
or agent_internal_item.tlscertfile is defined
|
|
or agent_internal_item.tlskeyfile is defined)
|
|
vars:
|
|
agent_internal_item: "{{ agent_param_plugins_mqtt_default }}"
|
|
agent_internal_item_folder: .CERT/MQTT/DEFAULT
|
|
ansible.builtin.set_fact:
|
|
agent_internal_plugins_mqtt_default_tls_file_list: '{{ [{"type": "ca", "source": agent_internal_item.source_tlscafile | default(omit), "target": agent_internal_item.tlscafile
|
|
if agent_internal_item.source_tlscafile is not defined else agent_service_user_home + "/" + agent_binary_name | upper + "/" + agent_internal_item_folder + "/"
|
|
+ agent_internal_item.source_tlscafile | basename}, {"type": "cert", "source": agent_internal_item.source_tlscertfile | default(omit), "target": agent_internal_item.tlscertfile
|
|
if agent_internal_item.source_tlscertfile is not defined else agent_service_user_home + "/" + agent_binary_name | upper + "/" + agent_internal_item_folder +
|
|
"/" + agent_internal_item.source_tlscertfile | basename}, {"type": "key", "source": agent_internal_item.source_tlskeyfile | default(omit), "target": agent_internal_item.tlskeyfile
|
|
if agent_internal_item.source_tlskeyfile is not defined else agent_service_user_home + "/" + agent_binary_name | upper + "/" + agent_internal_item_folder +
|
|
"/" + agent_internal_item.source_tlskeyfile | basename}] }}'
|
|
tags: [vars, verify, deploy, config]
|
|
|
|
- name: "Variables : Agent2 : Default : Generate list of MSSQL plugin certificate sources"
|
|
when: >
|
|
agent_internal_item is defined
|
|
and (agent_internal_item.source_cacertpath is defined and agent_internal_item.source_cacertpath
|
|
or agent_internal_item.cacertpath is defined and agent_internal_item.cacertpath)
|
|
vars:
|
|
agent_internal_item: "{{ agent_param_plugins_mssql_default }}"
|
|
agent_internal_item_folder: .CERT/MSSQL/DEFAULT
|
|
ansible.builtin.set_fact:
|
|
agent_internal_plugins_mssql_default_tls_file_list: '{{ [{"type": "ca", "source": agent_internal_item.source_cacertpath | default(omit), "target": agent_internal_item.cacertpath
|
|
if agent_internal_item.source_cacertpath is not defined else agent_service_user_home + "/" + agent_binary_name | upper + "/" + agent_internal_item_folder +
|
|
"/" + agent_internal_item.source_cacertpath | basename}] }}'
|
|
tags: [vars, verify, deploy, config]
|
|
|
|
### Loadable plugin list:
|
|
|
|
- name: "Variables : Agent2 : Add loadable plugins to package list"
|
|
ansible.builtin.set_fact:
|
|
agent_package_list: "{{ agent_package_list + (agent_internal_loadable_plugin_list | select | list) }}"
|
|
vars:
|
|
agent_internal_loadable_plugin_list:
|
|
- '{{ "zabbix-agent2-plugin-mongodb" if "mongodb" in agent_2_plugin_list else None }}'
|
|
- '{{ "zabbix-agent2-plugin-postgresql" if "postgresql" in agent_2_plugin_list else None }}'
|
|
- '{{ "zabbix-agent2-plugin-mssql" if "mssql" in agent_2_plugin_list else None }}'
|
|
- '{{ "zabbix-agent2-plugin-nvidia-gpu" if "nvidia" in agent_2_plugin_list else None }}'
|
|
tags: [vars, verify, remove, deploy, config]
|