From 5ab55ffa66d696519374a9d6f779227428dea6ba Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Tue, 21 May 2024 22:01:10 +0900 Subject: [PATCH 1/2] Added support for WebDriver in compose files --- .env | 6 ++++++ compose_additional_components.yaml | 13 +++++++++++++ compose_zabbix_components.yaml | 2 ++ docker-compose_v3_alpine_mysql_latest.yaml | 13 +++++++++++++ docker-compose_v3_alpine_mysql_local.yaml | 13 +++++++++++++ docker-compose_v3_alpine_pgsql_latest.yaml | 14 ++++++++++++++ docker-compose_v3_alpine_pgsql_local.yaml | 14 ++++++++++++++ docker-compose_v3_centos_mysql_latest.yaml | 13 +++++++++++++ docker-compose_v3_centos_mysql_local.yaml | 13 +++++++++++++ docker-compose_v3_centos_pgsql_latest.yaml | 13 +++++++++++++ docker-compose_v3_centos_pgsql_local.yaml | 13 +++++++++++++ docker-compose_v3_ol_mysql_latest.yaml | 13 +++++++++++++ docker-compose_v3_ol_mysql_local.yaml | 13 +++++++++++++ docker-compose_v3_ol_pgsql_latest.yaml | 13 +++++++++++++ docker-compose_v3_ol_pgsql_local.yaml | 13 +++++++++++++ docker-compose_v3_ubuntu_mysql_latest.yaml | 13 +++++++++++++ docker-compose_v3_ubuntu_mysql_local.yaml | 13 +++++++++++++ docker-compose_v3_ubuntu_pgsql_latest.yaml | 13 +++++++++++++ docker-compose_v3_ubuntu_pgsql_local.yaml | 13 +++++++++++++ env_vars/.env_srv | 2 +- 20 files changed, 232 insertions(+), 1 deletion(-) create mode 100644 compose_additional_components.yaml diff --git a/.env b/.env index 05c8ba84f0..9304b5c004 100644 --- a/.env +++ b/.env @@ -30,6 +30,9 @@ POSTGRESQL_IMAGE_TAG=16-alpine ELASTICSEARCH_IMAGE=elasticsearch ELASTICSEARCH_IMAGE_TAG=latest +WEBDRIVER_IMAGE=selenium/standalone-chrome +WEBDRIVER_IMAGE_TAG=latest + # Expose ports per service ZABBIX_SERVER_PORT=10051 ZABBIX_PROXY_MYSQL_PORT=10071 @@ -53,6 +56,9 @@ BACKEND_SUBNET=172.16.239.0/24 BACKEND_ENABLE_IPV6=false DATABASE_NETWORK_ENABLE_IPV6=false DATABASE_NETWORK_DRIVER=default +ADD_TOOLS_NETWORK_DRIVER=default +ADD_TOOLS_SUBNET=172.16.240.0/24 +ADD_TOOLS_ENABLE_IPV6=false # Locations DATA_DIRECTORY=./zbx_env diff --git a/compose_additional_components.yaml b/compose_additional_components.yaml new file mode 100644 index 0000000000..08d0cc53d6 --- /dev/null +++ b/compose_additional_components.yaml @@ -0,0 +1,13 @@ +version: '3.8' +services: + selenium: + image: "${WEBDRIVER_IMAGE}:${WEBDRIVER_IMAGE_TAG}" + restart: "${RESTART_POLICY}" + profiles: + - full + - all + shm_size: "2gb" + networks: + zbx_tools_frontend: + aliases: + - webdriver \ No newline at end of file diff --git a/compose_zabbix_components.yaml b/compose_zabbix_components.yaml index 89b6e7924c..83af488bc7 100644 --- a/compose_zabbix_components.yaml +++ b/compose_zabbix_components.yaml @@ -40,6 +40,7 @@ services: aliases: - zabbix-server zbx_net_frontend: + zbx_tools_frontend: # devices: # - "/dev/ttyUSB0:/dev/ttyUSB0" stop_grace_period: 30s @@ -128,6 +129,7 @@ services: networks: zbx_net_backend: zbx_net_frontend: + zbx_tools_frontend: stop_grace_period: 30s # cap_add: # - "NET_RAW" diff --git a/docker-compose_v3_alpine_mysql_latest.yaml b/docker-compose_v3_alpine_mysql_latest.yaml index d269ee6ebd..decb59fb59 100644 --- a/docker-compose_v3_alpine_mysql_latest.yaml +++ b/docker-compose_v3_alpine_mysql_latest.yaml @@ -107,6 +107,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -132,6 +137,14 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" volumes: snmptraps: diff --git a/docker-compose_v3_alpine_mysql_local.yaml b/docker-compose_v3_alpine_mysql_local.yaml index 85dc45bc3c..5a114f3bef 100644 --- a/docker-compose_v3_alpine_mysql_local.yaml +++ b/docker-compose_v3_alpine_mysql_local.yaml @@ -204,6 +204,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -229,6 +234,14 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" volumes: snmptraps: diff --git a/docker-compose_v3_alpine_pgsql_latest.yaml b/docker-compose_v3_alpine_pgsql_latest.yaml index bc4892246d..f7d090797b 100644 --- a/docker-compose_v3_alpine_pgsql_latest.yaml +++ b/docker-compose_v3_alpine_pgsql_latest.yaml @@ -117,6 +117,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -142,6 +147,15 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" + volumes: snmptraps: diff --git a/docker-compose_v3_alpine_pgsql_local.yaml b/docker-compose_v3_alpine_pgsql_local.yaml index ae96aa01a8..00b2b73986 100644 --- a/docker-compose_v3_alpine_pgsql_local.yaml +++ b/docker-compose_v3_alpine_pgsql_local.yaml @@ -227,6 +227,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -252,6 +257,15 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" + volumes: snmptraps: diff --git a/docker-compose_v3_centos_mysql_latest.yaml b/docker-compose_v3_centos_mysql_latest.yaml index ff4d42540d..5bc8ab4f9a 100644 --- a/docker-compose_v3_centos_mysql_latest.yaml +++ b/docker-compose_v3_centos_mysql_latest.yaml @@ -107,6 +107,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -132,6 +137,14 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" volumes: snmptraps: diff --git a/docker-compose_v3_centos_mysql_local.yaml b/docker-compose_v3_centos_mysql_local.yaml index 2540b233fa..ab0d6e497f 100644 --- a/docker-compose_v3_centos_mysql_local.yaml +++ b/docker-compose_v3_centos_mysql_local.yaml @@ -205,6 +205,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -230,6 +235,14 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" volumes: snmptraps: diff --git a/docker-compose_v3_centos_pgsql_latest.yaml b/docker-compose_v3_centos_pgsql_latest.yaml index 81c0b4d80c..be133666ee 100644 --- a/docker-compose_v3_centos_pgsql_latest.yaml +++ b/docker-compose_v3_centos_pgsql_latest.yaml @@ -117,6 +117,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -142,6 +147,14 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" volumes: snmptraps: diff --git a/docker-compose_v3_centos_pgsql_local.yaml b/docker-compose_v3_centos_pgsql_local.yaml index 394eca23bf..1629932507 100644 --- a/docker-compose_v3_centos_pgsql_local.yaml +++ b/docker-compose_v3_centos_pgsql_local.yaml @@ -227,6 +227,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -252,6 +257,14 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" volumes: snmptraps: diff --git a/docker-compose_v3_ol_mysql_latest.yaml b/docker-compose_v3_ol_mysql_latest.yaml index a450cd1f1e..4b1f87ebd9 100644 --- a/docker-compose_v3_ol_mysql_latest.yaml +++ b/docker-compose_v3_ol_mysql_latest.yaml @@ -107,6 +107,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -132,6 +137,14 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" volumes: snmptraps: diff --git a/docker-compose_v3_ol_mysql_local.yaml b/docker-compose_v3_ol_mysql_local.yaml index b2a4818b3f..45772b60a4 100644 --- a/docker-compose_v3_ol_mysql_local.yaml +++ b/docker-compose_v3_ol_mysql_local.yaml @@ -205,6 +205,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -230,6 +235,14 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" volumes: snmptraps: diff --git a/docker-compose_v3_ol_pgsql_latest.yaml b/docker-compose_v3_ol_pgsql_latest.yaml index 938fbd49b8..c79f958adc 100644 --- a/docker-compose_v3_ol_pgsql_latest.yaml +++ b/docker-compose_v3_ol_pgsql_latest.yaml @@ -117,6 +117,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -142,6 +147,14 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" volumes: snmptraps: diff --git a/docker-compose_v3_ol_pgsql_local.yaml b/docker-compose_v3_ol_pgsql_local.yaml index d67689b0b7..30b87f6c0f 100644 --- a/docker-compose_v3_ol_pgsql_local.yaml +++ b/docker-compose_v3_ol_pgsql_local.yaml @@ -227,6 +227,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -252,6 +257,14 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" volumes: snmptraps: diff --git a/docker-compose_v3_ubuntu_mysql_latest.yaml b/docker-compose_v3_ubuntu_mysql_latest.yaml index bd1ae5d1e0..c599b1e21b 100644 --- a/docker-compose_v3_ubuntu_mysql_latest.yaml +++ b/docker-compose_v3_ubuntu_mysql_latest.yaml @@ -95,6 +95,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -120,6 +125,14 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" volumes: snmptraps: diff --git a/docker-compose_v3_ubuntu_mysql_local.yaml b/docker-compose_v3_ubuntu_mysql_local.yaml index 522692f0ee..556b3f582b 100644 --- a/docker-compose_v3_ubuntu_mysql_local.yaml +++ b/docker-compose_v3_ubuntu_mysql_local.yaml @@ -193,6 +193,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -218,6 +223,14 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" volumes: snmptraps: diff --git a/docker-compose_v3_ubuntu_pgsql_latest.yaml b/docker-compose_v3_ubuntu_pgsql_latest.yaml index 49622ebcc0..158b94ae0d 100644 --- a/docker-compose_v3_ubuntu_pgsql_latest.yaml +++ b/docker-compose_v3_ubuntu_pgsql_latest.yaml @@ -105,6 +105,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -130,6 +135,14 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" volumes: snmptraps: diff --git a/docker-compose_v3_ubuntu_pgsql_local.yaml b/docker-compose_v3_ubuntu_pgsql_local.yaml index bda62455e4..214d13b9a4 100644 --- a/docker-compose_v3_ubuntu_pgsql_local.yaml +++ b/docker-compose_v3_ubuntu_pgsql_local.yaml @@ -215,6 +215,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -240,6 +245,14 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" volumes: snmptraps: diff --git a/env_vars/.env_srv b/env_vars/.env_srv index 9f67d4c49d..263e0f3088 100644 --- a/env_vars/.env_srv +++ b/env_vars/.env_srv @@ -84,5 +84,5 @@ ZBX_ENABLE_SNMP_TRAPS=true # ZBX_WEBSERVICEURL=http://zabbix-web-service:10053/report # ZBX_SERVICEMANAGERSYNCFREQUENCY=60 # ZBX_ALLOWSOFTWAREUPDATECHECK=1 # Available since 7.0.0 -# ZBX_WEBDRIVERURL= # Available since 7.0.0 +# ZBX_WEBDRIVERURL=http://selenium:4444 # Available since 7.0.0 # ZBX_STARTBROWSERPOLLERS=1 # Available since 7.0.0 From 2868e7c030271511a7a7c950baff0ea4169f9545 Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Tue, 21 May 2024 22:02:16 +0900 Subject: [PATCH 2/2] Added support for WebDriver in compose files --- compose_additional_components.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/compose_additional_components.yaml b/compose_additional_components.yaml index 08d0cc53d6..fbbc4b7620 100644 --- a/compose_additional_components.yaml +++ b/compose_additional_components.yaml @@ -10,4 +10,5 @@ services: networks: zbx_tools_frontend: aliases: - - webdriver \ No newline at end of file + - webdriver + - selenium