From 1d6a18dc72f8d791ff657677bf280b4b8612fe2f Mon Sep 17 00:00:00 2001 From: Nigel Kukard <nkukard@lbsd.net> Date: Sat, 8 Jun 2024 09:15:08 +0000 Subject: [PATCH 01/16] chore: use mariadb-admin not msyqladmin --- usr/local/share/flexible-docker-containers/init.d/48-zabbix.sh | 2 +- .../flexible-docker-containers/tests.d/48-zabbix-frontend.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/usr/local/share/flexible-docker-containers/init.d/48-zabbix.sh b/usr/local/share/flexible-docker-containers/init.d/48-zabbix.sh index a6b4441..97fa5f1 100755 --- a/usr/local/share/flexible-docker-containers/init.d/48-zabbix.sh +++ b/usr/local/share/flexible-docker-containers/init.d/48-zabbix.sh @@ -423,7 +423,7 @@ if [ "${#database_sql[@]}" -gt 0 ]; then while true; do fdc_notice "Zabbix waiting for MySQL server '$MYSQL_HOST'..." - if mysqladmin ping --host "$MYSQL_HOST" --user "$MYSQL_USER" --silent --connect-timeout=2; then + if mariadb-admin ping --host "$MYSQL_HOST" --user "$MYSQL_USER" --silent --connect-timeout=2; then fdc_notice "MySQL server is UP, continuing" break fi diff --git a/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-frontend.sh b/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-frontend.sh index 14fd6a0..900c256 100644 --- a/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-frontend.sh +++ b/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-frontend.sh @@ -371,7 +371,7 @@ elif [ "$database_type_zabbix" = "mysql" ]; then while true; do fdc_test_progress zabbix-frontend "Zabbix waiting for MySQL server '$MYSQL_HOST'..." - if mysqladmin ping --host "$MYSQL_HOST" --user "$MYSQL_USER" --silent --connect-timeout=2; then + if mariadb-admin ping --host "$MYSQL_HOST" --user "$MYSQL_USER" --silent --connect-timeout=2; then # Wait for database initialization to complete if echo "SELECT * FROM users;" | mysql -h "$MYSQL_HOST" -u "$MYSQL_USER" "$MYSQL_DATABASE" | grep testuser; then fdc_test_progress zabbix-frontend "MySQL server is UP, continuing" -- GitLab From c4689e9a3b02e6c86dac9e68e51632d16a596c76 Mon Sep 17 00:00:00 2001 From: Nigel Kukard <nkukard@lbsd.net> Date: Sat, 8 Jun 2024 22:02:06 +0000 Subject: [PATCH 02/16] chore: removed version from docker-compose files as its deprecated --- tests/docker-compose.yml.mysql.tmpl | 2 -- tests/docker-compose.yml.postgresql.tmpl | 1 - tests/docker-compose.yml.timescaledb.tmpl | 2 +- 3 files changed, 1 insertion(+), 4 deletions(-) diff --git a/tests/docker-compose.yml.mysql.tmpl b/tests/docker-compose.yml.mysql.tmpl index 15a3342..0d2fd90 100644 --- a/tests/docker-compose.yml.mysql.tmpl +++ b/tests/docker-compose.yml.mysql.tmpl @@ -19,8 +19,6 @@ # IN THE SOFTWARE. -version: '3.9' - services: diff --git a/tests/docker-compose.yml.postgresql.tmpl b/tests/docker-compose.yml.postgresql.tmpl index 64910e1..8ceaf76 100644 --- a/tests/docker-compose.yml.postgresql.tmpl +++ b/tests/docker-compose.yml.postgresql.tmpl @@ -19,7 +19,6 @@ # IN THE SOFTWARE. -version: '3.9' services: diff --git a/tests/docker-compose.yml.timescaledb.tmpl b/tests/docker-compose.yml.timescaledb.tmpl index e48cab9..27b82bf 100644 --- a/tests/docker-compose.yml.timescaledb.tmpl +++ b/tests/docker-compose.yml.timescaledb.tmpl @@ -19,7 +19,7 @@ # IN THE SOFTWARE. -version: '3.9' + services: -- GitLab From def56ddf2573a460dead9075a8136d1adbcb23f7 Mon Sep 17 00:00:00 2001 From: Nigel Kukard <nkukard@lbsd.net> Date: Sat, 8 Jun 2024 22:02:28 +0000 Subject: [PATCH 03/16] chore: test mysqladmin --- .../flexible-docker-containers/tests.d/48-zabbix-frontend.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-frontend.sh b/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-frontend.sh index 900c256..5a055e2 100644 --- a/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-frontend.sh +++ b/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-frontend.sh @@ -371,7 +371,7 @@ elif [ "$database_type_zabbix" = "mysql" ]; then while true; do fdc_test_progress zabbix-frontend "Zabbix waiting for MySQL server '$MYSQL_HOST'..." - if mariadb-admin ping --host "$MYSQL_HOST" --user "$MYSQL_USER" --silent --connect-timeout=2; then + if mariadb-admin ping --host "$MYSQL_HOST" --user "$MYSQL_USER" --connect-timeout=2; then # Wait for database initialization to complete if echo "SELECT * FROM users;" | mysql -h "$MYSQL_HOST" -u "$MYSQL_USER" "$MYSQL_DATABASE" | grep testuser; then fdc_test_progress zabbix-frontend "MySQL server is UP, continuing" -- GitLab From 944d242b4f4d7cc71039444e2ca0a302eecf7e75 Mon Sep 17 00:00:00 2001 From: Nigel Kukard <nkukard@lbsd.net> Date: Thu, 13 Jun 2024 23:55:49 +0000 Subject: [PATCH 04/16] chore: move from using mysql to mariadb commands --- .../share/flexible-docker-containers/init.d/48-zabbix.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/usr/local/share/flexible-docker-containers/init.d/48-zabbix.sh b/usr/local/share/flexible-docker-containers/init.d/48-zabbix.sh index 97fa5f1..a89d4a5 100755 --- a/usr/local/share/flexible-docker-containers/init.d/48-zabbix.sh +++ b/usr/local/share/flexible-docker-containers/init.d/48-zabbix.sh @@ -423,7 +423,7 @@ if [ "${#database_sql[@]}" -gt 0 ]; then while true; do fdc_notice "Zabbix waiting for MySQL server '$MYSQL_HOST'..." - if mariadb-admin ping --host "$MYSQL_HOST" --user "$MYSQL_USER" --silent --connect-timeout=2; then + if mariadb-admin ping --silent --skip-ssl --host "$MYSQL_HOST" --user "$MYSQL_USER" --connect-timeout=2; then fdc_notice "MySQL server is UP, continuing" break fi @@ -431,7 +431,7 @@ if [ "${#database_sql[@]}" -gt 0 ]; then done # Check if the domain table exists, if not, create the database - if echo "SHOW CREATE TABLE users;" | mysql -h "$MYSQL_HOST" -u "$MYSQL_USER" "$MYSQL_DATABASE" 2>&1 | grep -q "ERROR 1146.*Table.*doesn't exist"; then + if echo "SHOW CREATE TABLE users;" | mariadb --silent --skip-ssl -host "$MYSQL_HOST" --user "$MYSQL_USER" "$MYSQL_DATABASE" 2>&1 | grep -q "ERROR 1146.*Table.*doesn't exist"; then fdc_notice "Initializing Zabbix MySQL database" { for i in "${database_sql[@]}"; do @@ -441,7 +441,7 @@ if [ "${#database_sql[@]}" -gt 0 ]; then if [ -n "$zabbix_admin_password_hashed" ]; then echo "UPDATE users SET username = '$ZABBIX_ADMIN_USERNAME', passwd = '$zabbix_admin_password_hashed' WHERE username = 'Admin';" fi - } | mysql -h "$MYSQL_HOST" -u "$MYSQL_USER" "$MYSQL_DATABASE" + } | mariadb --silent --skip-ssl --host "$MYSQL_HOST" --user "$MYSQL_USER" "$MYSQL_DATABASE" fi unset MYSQL_PWD -- GitLab From fa1e086cb7152fd5744400f7e0e2c8be2595a50f Mon Sep 17 00:00:00 2001 From: Nigel Kukard <nkukard@lbsd.net> Date: Thu, 13 Jun 2024 23:56:05 +0000 Subject: [PATCH 05/16] chore: updated to version 7.0.0 --- Dockerfile | 3 ++- .../flexible-docker-containers/pre-exec-tests.d/48-zabbix.sh | 2 +- .../flexible-docker-containers/tests.d/48-zabbix-frontend.sh | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8acfc40..d300c4b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -25,7 +25,7 @@ FROM registry.conarx.tech/containers/nginx-php/edge as builder # UPDATE timescaledb version in tests/docker-compose.yml.timescaledb.tmpl to the max supported version # ref https://hub.docker.com/repository/docker/allworldit/postgresql-timescaledb/tags?page=1&ordering=last_updated # ref https://github.com/zabbix/zabbix/blob/6e6aa6c5a866e56648410275a936959a5100712c/include/zbx_dbversion_constants.h#L62 -ENV ZABBIX_VER=6.4.14 +ENV ZABBIX_VER=7.0.0 COPY patches /build/patches @@ -42,6 +42,7 @@ RUN set -eux; \ curl-dev \ go \ libevent-dev \ + linux-headers \ libpq-dev \ libssh2-dev \ libxml2-dev \ diff --git a/usr/local/share/flexible-docker-containers/pre-exec-tests.d/48-zabbix.sh b/usr/local/share/flexible-docker-containers/pre-exec-tests.d/48-zabbix.sh index 5fd8384..c7290c0 100644 --- a/usr/local/share/flexible-docker-containers/pre-exec-tests.d/48-zabbix.sh +++ b/usr/local/share/flexible-docker-containers/pre-exec-tests.d/48-zabbix.sh @@ -71,7 +71,7 @@ if [ "$ZABBIX_MODE" = "server" ]; then echo "DELETE FROM ids WHERE table_name='interface' AND field_name='interfaceid';" echo "INSERT INTO ids (table_name,field_name,nextid) VALUES ('hosts','hostid',(SELECT MAX(hostid) AS id FROM hosts)+1);" echo "INSERT INTO ids (table_name,field_name,nextid) VALUES ('interface','interfaceid',(SELECT MAX(interfaceid) AS id FROM interface)+1);" - ) | mysql -h "$MYSQL_HOST" -u "$MYSQL_USER" "$MYSQL_DATABASE" + ) | mariadb --skip-ssl --host "$MYSQL_HOST" --user "$MYSQL_USER" "$MYSQL_DATABASE" unset MYSQL_PWD fi diff --git a/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-frontend.sh b/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-frontend.sh index 5a055e2..fa66359 100644 --- a/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-frontend.sh +++ b/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-frontend.sh @@ -371,9 +371,9 @@ elif [ "$database_type_zabbix" = "mysql" ]; then while true; do fdc_test_progress zabbix-frontend "Zabbix waiting for MySQL server '$MYSQL_HOST'..." - if mariadb-admin ping --host "$MYSQL_HOST" --user "$MYSQL_USER" --connect-timeout=2; then + if mariadb-admin ping --skip-ssl --host "$MYSQL_HOST" --user "$MYSQL_USER" --connect-timeout=2; then # Wait for database initialization to complete - if echo "SELECT * FROM users;" | mysql -h "$MYSQL_HOST" -u "$MYSQL_USER" "$MYSQL_DATABASE" | grep testuser; then + if echo "SELECT * FROM users;" | mariadb --skip-ssl --host "$MYSQL_HOST" --user "$MYSQL_USER" "$MYSQL_DATABASE" | grep testuser; then fdc_test_progress zabbix-frontend "MySQL server is UP, continuing" break fi -- GitLab From 2b155ac232c45e719527c236d8c5f4c51a8ffb2c Mon Sep 17 00:00:00 2001 From: Nigel Kukard <nkukard@lbsd.net> Date: Tue, 18 Jun 2024 03:31:49 +0000 Subject: [PATCH 06/16] chore: updated to 7.0.0 and improved image - Moved Zabbix install to /opt/zabbix - Test all agent active/passive, encrypted/non-encrypted, agent/agent2 combinations --- Dockerfile | 33 +- .../conf.d/zabbix-agent.conf.disabled | 4 +- .../conf.d/zabbix-agent2.conf.disabled | 4 +- etc/supervisor/conf.d/zabbix-proxy.conf.tmpl | 4 +- etc/supervisor/conf.d/zabbix-server.conf.tmpl | 4 +- .../conf.d/zabbix-web-service.conf.disabled | 4 +- tests/docker-compose.yml.mysql.tmpl | 510 ++++++++++++++++- tests/docker-compose.yml.postgresql.tmpl | 511 +++++++++++++++-- tests/docker-compose.yml.timescaledb.tmpl | 514 ++++++++++++++++-- tests/run-cluster-test | 137 ++++- .../init.d/48-zabbix.sh | 8 +- .../pre-exec-tests.d/48-zabbix.sh | 59 +- .../pre-init-tests.d/48-zabbix.sh | 14 +- .../tests.d/48-zabbix-frontend.sh | 389 ++++++++++--- 14 files changed, 1938 insertions(+), 257 deletions(-) diff --git a/Dockerfile b/Dockerfile index d300c4b..e12dc8b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -36,6 +36,7 @@ RUN set -eux; \ # from https://git.alpinelinux.org/aports/tree/community/zabbix/APKBUILD apk add --no-cache \ build-base \ + wget \ autoconf \ automake \ ccache \ @@ -84,11 +85,11 @@ RUN set -eux; \ export AGENT_LDFLAGS="${LDFLAGS}"; \ \ _configure_flags="--disable-static"; \ - _configure_flags="$_configure_flags --prefix=/usr/local"; \ + _configure_flags="$_configure_flags --prefix=/opt/zabbix"; \ _configure_flags="$_configure_flags --sysconfdir=/etc/zabbix"; \ _configure_flags="$_configure_flags --datadir=/var/lib/zabbix"; \ - _configure_flags="$_configure_flags --mandir=/usr/local/share/man"; \ - _configure_flags="$_configure_flags --infodir=/usr/local/share/info"; \ + _configure_flags="$_configure_flags --mandir=/opt/zabbix/share/man"; \ + _configure_flags="$_configure_flags --infodir=/opt/zabbix/share/info"; \ _configure_flags="$_configure_flags --enable-agent"; \ _configure_flags="$_configure_flags --enable-agent2"; \ _configure_flags="$_configure_flags --enable-ipv6"; \ @@ -107,7 +108,7 @@ RUN set -eux; \ for db in postgresql mysql; do \ ./configure $_configure_flags --enable-server "--with-$db"; \ make clean; \ - make -j$(nprocs); \ + make $MAKEFLAGS; \ make dbschema; \ mv src/zabbix_server/zabbix_server "src/zabbix_server/zabbix_server_$db"; \ mkdir -p "../schema/zabbix-server"; \ @@ -118,7 +119,7 @@ RUN set -eux; \ for db in postgresql mysql sqlite3; do \ ./configure $_configure_flags --enable-proxy "--with-$db"; \ make clean; \ - make -j$(nprocs); \ + make $MAKEFLAGS; \ make dbschema; \ mv src/zabbix_proxy/zabbix_proxy "src/zabbix_proxy/zabbix_proxy_$db"; \ mkdir -p "../schema/zabbix-proxy"; \ @@ -136,11 +137,11 @@ RUN set -eux; \ \ true "Install Zabbix server"; \ for db in postgresql mysql; do \ - install -Dm755 "src/zabbix_server/zabbix_server_$db" "$pkgdir/usr/local/bin/zabbix_server_$db"; \ - mkdir -p "$pkgdir/usr/local/share/zabbix-server"; \ - cp -vr "../schema/zabbix-server/$db" "$pkgdir/usr/local/share/zabbix-server/$db"; \ + install -Dm755 "src/zabbix_server/zabbix_server_$db" "$pkgdir/opt/zabbix/bin/zabbix_server_$db"; \ + mkdir -p "$pkgdir/opt/zabbix/share/zabbix-server"; \ + cp -vr "../schema/zabbix-server/$db" "$pkgdir/opt/zabbix/share/zabbix-server/$db"; \ done; \ - install -Dm755 src/zabbix_get/zabbix_get "$pkgdir/usr/local/bin/zabbix_get"; \ + install -Dm755 src/zabbix_get/zabbix_get "$pkgdir/opt/zabbix/bin/zabbix_get"; \ install -Dm644 conf/zabbix_server.conf "$pkgdir/etc/zabbix/zabbix_server.conf"; \ install -dm755 "$pkgdir/etc/zabbix/zabbix_server.conf.d"; \ install -dm755 "$pkgdir/var/tmp/zabbix-server"; \ @@ -151,29 +152,29 @@ RUN set -eux; \ \ true "Install Zabbix proxy"; \ for db in postgresql mysql sqlite3; do \ - install -Dm755 "src/zabbix_proxy/zabbix_proxy_$db" "$pkgdir/usr/local/bin/zabbix_proxy_$db"; \ - mkdir -p "$pkgdir/usr/local/share/zabbix-proxy"; \ - cp -vr "../schema/zabbix-proxy/$db" "$pkgdir/usr/local/share/zabbix-proxy/$db"; \ + install -Dm755 "src/zabbix_proxy/zabbix_proxy_$db" "$pkgdir/opt/zabbix/bin/zabbix_proxy_$db"; \ + mkdir -p "$pkgdir/opt/zabbix/share/zabbix-proxy"; \ + cp -vr "../schema/zabbix-proxy/$db" "$pkgdir/opt/zabbix/share/zabbix-proxy/$db"; \ done; \ install -Dm644 conf/zabbix_proxy.conf "$pkgdir/etc/zabbix/zabbix_proxy.conf"; \ install -dm755 "$pkgdir/etc/zabbix/zabbix_proxy.conf.d"; \ \ \ true "Install Zabbix agent"; \ - install -Dm755 src/zabbix_agent/zabbix_agentd "$pkgdir/usr/local/bin/zabbix_agentd"; \ - install -Dm755 src/zabbix_sender/zabbix_sender "$pkgdir/usr/local/bin/zabbix_sender"; \ + install -Dm755 src/zabbix_agent/zabbix_agentd "$pkgdir/opt/zabbix/bin/zabbix_agentd"; \ + install -Dm755 src/zabbix_sender/zabbix_sender "$pkgdir/opt/zabbix/bin/zabbix_sender"; \ install -Dm644 conf/zabbix_agentd.conf "$pkgdir/etc/zabbix/zabbix_agentd.conf"; \ install -dm755 "$pkgdir/etc/zabbix/zabbix_agentd.conf.d"; \ \ \ true "Install Zabbix agent2"; \ - install -Dm755 src/go/bin/zabbix_agent2 "$pkgdir/usr/local/bin/zabbix_agent2"; \ + install -Dm755 src/go/bin/zabbix_agent2 "$pkgdir/opt/zabbix/bin/zabbix_agent2"; \ install -Dm644 src/go/conf/zabbix_agent2.conf "$pkgdir/etc/zabbix/zabbix_agent2.conf"; \ install -dm755 "$pkgdir/etc/zabbix/zabbix_agent2.conf.d/plugins.d"; \ \ \ true "Install Zabbix web service"; \ - install -Dm755 src/go/bin/zabbix_web_service "$pkgdir/usr/local/bin/zabbix_web_service"; \ + install -Dm755 src/go/bin/zabbix_web_service "$pkgdir/opt/zabbix/bin/zabbix_web_service"; \ install -Dm644 src/go/conf/zabbix_web_service.conf "$pkgdir/etc/zabbix/zabbix_web_service.conf"; \ \ \ diff --git a/etc/supervisor/conf.d/zabbix-agent.conf.disabled b/etc/supervisor/conf.d/zabbix-agent.conf.disabled index db38b8a..06a67ce 100644 --- a/etc/supervisor/conf.d/zabbix-agent.conf.disabled +++ b/etc/supervisor/conf.d/zabbix-agent.conf.disabled @@ -1,5 +1,5 @@ [program:zabbix-agent] -command=/usr/local/bin/zabbix_agentd -f +command=/opt/zabbix/bin/zabbix_agentd -f user=zabbix-agent @@ -8,7 +8,7 @@ environment= LANG=C.UTF-8, LANGUAGE=C.UTF-8, LC_ALL=C.UTF-8, - PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin + PATH=/usr/local/bin:/usr/local/sbin:/opt/zabbix/bin:/usr/bin:/usr/sbin:/bin:/sbin stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 diff --git a/etc/supervisor/conf.d/zabbix-agent2.conf.disabled b/etc/supervisor/conf.d/zabbix-agent2.conf.disabled index 0c66ac6..271dd2e 100644 --- a/etc/supervisor/conf.d/zabbix-agent2.conf.disabled +++ b/etc/supervisor/conf.d/zabbix-agent2.conf.disabled @@ -1,5 +1,5 @@ [program:zabbix-agent2] -command=/usr/local/bin/zabbix_agent2 -f +command=/opt/zabbix/bin/zabbix_agent2 -f user=zabbix-agent2 @@ -8,7 +8,7 @@ environment= LANG=C.UTF-8, LANGUAGE=C.UTF-8, LC_ALL=C.UTF-8, - PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin + PATH=/usr/local/bin:/usr/local/sbin:/opt/zabbix/bin:/usr/bin:/usr/sbin:/bin:/sbin stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 diff --git a/etc/supervisor/conf.d/zabbix-proxy.conf.tmpl b/etc/supervisor/conf.d/zabbix-proxy.conf.tmpl index 3a7e0e8..5ae3844 100644 --- a/etc/supervisor/conf.d/zabbix-proxy.conf.tmpl +++ b/etc/supervisor/conf.d/zabbix-proxy.conf.tmpl @@ -1,5 +1,5 @@ [program:zabbix-proxy] -command=/usr/local/bin/zabbix_proxy_@ZABBIX_DB@ -f +command=/opt/zabbix/bin/zabbix_proxy_@ZABBIX_DB@ -f user=zabbix-proxy @@ -8,7 +8,7 @@ environment= LANG=C.UTF-8, LANGUAGE=C.UTF-8, LC_ALL=C.UTF-8, - PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin + PATH=/usr/local/bin:/usr/local/sbin:/opt/zabbix/bin:/usr/bin:/usr/sbin:/bin:/sbin stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 diff --git a/etc/supervisor/conf.d/zabbix-server.conf.tmpl b/etc/supervisor/conf.d/zabbix-server.conf.tmpl index 4b66bd6..0bd1f22 100644 --- a/etc/supervisor/conf.d/zabbix-server.conf.tmpl +++ b/etc/supervisor/conf.d/zabbix-server.conf.tmpl @@ -1,5 +1,5 @@ [program:zabbix-server] -command=/usr/local/bin/zabbix_server_@ZABBIX_DB@ -f +command=/opt/zabbix/bin/zabbix_server_@ZABBIX_DB@ -f user=zabbix-server @@ -8,7 +8,7 @@ environment= LANG=C.UTF-8, LANGUAGE=C.UTF-8, LC_ALL=C.UTF-8, - PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin + PATH=/usr/local/bin:/usr/local/sbin:/opt/zabbix/bin:/usr/bin:/usr/sbin:/bin:/sbin stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 diff --git a/etc/supervisor/conf.d/zabbix-web-service.conf.disabled b/etc/supervisor/conf.d/zabbix-web-service.conf.disabled index 3b81814..0fe4752 100644 --- a/etc/supervisor/conf.d/zabbix-web-service.conf.disabled +++ b/etc/supervisor/conf.d/zabbix-web-service.conf.disabled @@ -1,5 +1,5 @@ [program:zabbix-web-service] -command=/usr/local/bin/zabbix_web_service -c /etc/zabbix/zabbix_web_service.conf +command=/opt/zabbix/bin/zabbix_web_service -c /etc/zabbix/zabbix_web_service.conf user=zabbix-web-service @@ -8,7 +8,7 @@ environment= LANG=C.UTF-8, LANGUAGE=C.UTF-8, LC_ALL=C.UTF-8, - PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin + PATH=/usr/local/bin:/usr/local/sbin:/opt/zabbix/bin:/usr/bin:/usr/sbin:/bin:/sbin stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 diff --git a/tests/docker-compose.yml.mysql.tmpl b/tests/docker-compose.yml.mysql.tmpl index 0d2fd90..e5bf7a2 100644 --- a/tests/docker-compose.yml.mysql.tmpl +++ b/tests/docker-compose.yml.mysql.tmpl @@ -56,7 +56,6 @@ services: - external - zabbix-webservice: image: @@PIPELINE_IMAGE@@ environment: @@ -67,75 +66,506 @@ services: - external +# +# PROXIES +# - zabbix-proxy: +# ACTIVE PROXIES + + # Zabbix Proxy 1 - Active - Not Encrypted + zabbix-proxy1a: image: @@PIPELINE_IMAGE@@ environment: - FDC_CI=mysql - ZABBIX_MODE=proxy - ZABBIX_DATABASE_TYPE=mysql - - ZABBIX_HOSTNAME=Zabbix proxy + - ZABBIX_HOSTNAME=Zabbix proxy1a - ZABBIX_PROXY_MODE=active - ZABBIX_SERVER=zabbix-server - - MYSQL_HOST=mariadb-proxy - - MYSQL_DATABASE=zabbix - - MYSQL_USER=zabbix - - MYSQL_PASSWORD=zabbix + - MYSQL_HOST=mariadb-proxy1a + - MYSQL_DATABASE=zabbixproxy1a + - MYSQL_USER=zabbixproxy1a + - MYSQL_PASSWORD=zabbixproxy1a networks: - external +# Zabbix Proxy 2 - Active - Encrypted + zabbix-proxy2ae: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=proxy + - ZABBIX_DATABASE_TYPE=mysql + - ZABBIX_HOSTNAME=Zabbix proxy2ae + - ZABBIX_PROXY_MODE=active + - ZABBIX_SERVER=zabbix-server + - ZABBIX_TLS_PSKIDENTITY=zabbixproxy2ae + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + - MYSQL_HOST=mariadb-proxy2ae + - MYSQL_DATABASE=zabbixproxy2ae + - MYSQL_USER=zabbixproxy2ae + - MYSQL_PASSWORD=zabbixproxy2ae + networks: + - external + + + # Zabbix Proxy 3 - Passive - Not Encrypted + zabbix-proxy3p: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=proxy + - ZABBIX_DATABASE_TYPE=mysql + - ZABBIX_HOSTNAME=Zabbix proxy3p + - ZABBIX_PROXY_MODE=passive + - ZABBIX_SERVER=zabbix-server + - MYSQL_HOST=mariadb-proxy3p + - MYSQL_DATABASE=zabbixproxy3p + - MYSQL_USER=zabbixproxy3p + - MYSQL_PASSWORD=zabbixproxy3p + networks: + - external - zabbix-proxy2: + # Zabbix Proxy 4 - Passive - Encrypted + zabbix-proxy4pe: image: @@PIPELINE_IMAGE@@ environment: - FDC_CI=mysql - ZABBIX_MODE=proxy - ZABBIX_DATABASE_TYPE=mysql - - ZABBIX_HOSTNAME=Zabbix proxy2 + - ZABBIX_HOSTNAME=Zabbix proxy4pe - ZABBIX_PROXY_MODE=passive - ZABBIX_SERVER=zabbix-server - - ZABBIX_TLS_PSKIDENTITY=proxytest + - ZABBIX_TLS_PSKIDENTITY=zabbixproxy4pe - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef - - MYSQL_HOST=mariadb-proxy2 - - MYSQL_DATABASE=zabbix2 - - MYSQL_USER=zabbix2 - - MYSQL_PASSWORD=zabbix2 + - MYSQL_HOST=mariadb-proxy4pe + - MYSQL_DATABASE=zabbixproxy4pe + - MYSQL_USER=zabbixproxy4pe + - MYSQL_PASSWORD=zabbixproxy4pe + networks: + - external + + +# +# AGENTS +# + + + # Active Proxy - Not Encrypted + + + zabbix-test-agent-via-proxy1a-a: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy1a-a + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy1a networks: - external + zabbix-test-agent2-via-proxy1a-a: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy1a-a + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy1a + networks: + - external - zabbix-test-agent-via-proxy: + zabbix-test-agent-via-proxy1a-ae: image: @@PIPELINE_IMAGE@@ environment: - FDC_CI=mysql - ZABBIX_MODE=agent - - ZABBIX_HOSTNAME=Zabbix test agent via proxy + - ZABBIX_HOSTNAME=Test agent proxy1a-ae + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy1a + - ZABBIX_TLS_PSKIDENTITY=agentproxy1a-ae + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + zabbix-test-agent2-via-proxy1a-ae: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy1a-ae - ZABBIX_AGENT_MODE=active - - ZABBIX_SERVER=zabbix-proxy2 - - ZABBIX_TLS_PSKIDENTITY=agenttest + - ZABBIX_SERVER=zabbix-proxy1a + - ZABBIX_TLS_PSKIDENTITY=agent2proxy1a-ae - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef networks: - external + zabbix-test-agent-via-proxy1a-p: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy1a-p + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy1a + networks: + - external - zabbix-test-agent2-via-proxy: + zabbix-test-agent2-via-proxy1a-p: image: @@PIPELINE_IMAGE@@ environment: - FDC_CI=mysql - ZABBIX_MODE=agent2 - - ZABBIX_HOSTNAME=Zabbix test agent2 via proxy + - ZABBIX_HOSTNAME=Test agent2 proxy1a-p + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy1a + networks: + - external + + + zabbix-test-agent-via-proxy1a-pe: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy1a-pe + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy1a + - ZABBIX_TLS_PSKIDENTITY=agentproxy1a-pe + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + zabbix-test-agent2-via-proxy1a-pe: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy1a-pe + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy1a + - ZABBIX_TLS_PSKIDENTITY=agent2proxy1a-pe + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + + # Active Proxy - Encrypted + + + zabbix-test-agent-via-proxy2ae-a: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy2ae-a + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy2ae + networks: + - external + + zabbix-test-agent2-via-proxy2ae-a: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy2ae-a - ZABBIX_AGENT_MODE=active - - ZABBIX_SERVER=zabbix-proxy2 - - ZABBIX_TLS_PSKIDENTITY=agent2test + - ZABBIX_SERVER=zabbix-proxy2ae + networks: + - external + + + zabbix-test-agent-via-proxy2ae-ae: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy2ae-ae + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy2ae + - ZABBIX_TLS_PSKIDENTITY=agentproxy2ae-ae - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef networks: - external + zabbix-test-agent2-via-proxy2ae-ae: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy2ae-ae + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy2ae + - ZABBIX_TLS_PSKIDENTITY=agent2proxy2ae-ae + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + + zabbix-test-agent-via-proxy2ae-p: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy2ae-p + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy2ae + networks: + - external + + zabbix-test-agent2-via-proxy2ae-p: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy2ae-p + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy2ae + networks: + - external + + + zabbix-test-agent-via-proxy2ae-pe: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy2ae-pe + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy2ae + - ZABBIX_TLS_PSKIDENTITY=agentproxy2ae-pe + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + zabbix-test-agent2-via-proxy2ae-pe: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy2ae-pe + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy2ae + - ZABBIX_TLS_PSKIDENTITY=agent2proxy2ae-pe + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + + # Passive Proxy - Not Encrypted + zabbix-test-agent-via-proxy3p-a: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy3p-a + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy3p + networks: + - external + + zabbix-test-agent2-via-proxy3p-a: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy3p-a + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy3p + networks: + - external + + + zabbix-test-agent-via-proxy3p-ae: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy3p-ae + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy3p + - ZABBIX_TLS_PSKIDENTITY=agentproxy3p-ae + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + zabbix-test-agent2-via-proxy3p-ae: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy3p-ae + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy3p + - ZABBIX_TLS_PSKIDENTITY=agent2proxy3p-ae + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + + zabbix-test-agent-via-proxy3p-p: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy3p-p + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy3p + networks: + - external + + zabbix-test-agent2-via-proxy3p-p: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy3p-p + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy3p + networks: + - external + + + zabbix-test-agent-via-proxy3p-pe: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy3p-pe + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy3p + - ZABBIX_TLS_PSKIDENTITY=agentproxy3p-pe + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + zabbix-test-agent2-via-proxy3p-pe: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy3p-pe + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy3p + - ZABBIX_TLS_PSKIDENTITY=agent2proxy3p-pe + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + + # Passive Proxy - Encrypted + + + zabbix-test-agent-via-proxy4pe-a: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy4pe-a + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy4pe + networks: + - external + + zabbix-test-agent2-via-proxy4pe-a: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy4pe-a + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy4pe + networks: + - external + + + zabbix-test-agent-via-proxy4pe-ae: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy4pe-ae + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy4pe + - ZABBIX_TLS_PSKIDENTITY=agentproxy4pe-ae + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + zabbix-test-agent2-via-proxy4pe-ae: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy4pe-ae + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy4pe + - ZABBIX_TLS_PSKIDENTITY=agent2proxy4pe-ae + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + + zabbix-test-agent-via-proxy4pe-p: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy4pe-p + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy4pe + networks: + - external + + zabbix-test-agent2-via-proxy4pe-p: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy4pe-p + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy4pe + networks: + - external + + + zabbix-test-agent-via-proxy4pe-pe: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy4pe-pe + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy4pe + - ZABBIX_TLS_PSKIDENTITY=agentproxy4pe-pe + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + zabbix-test-agent2-via-proxy4pe-pe: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=mysql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy4pe-pe + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy4pe + - ZABBIX_TLS_PSKIDENTITY=agent2proxy4pe-pe + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + + # MAIN ZABBIX DATABASE SERVER + mariadb-server: image: registry.conarx.tech/containers/mariadb environment: @@ -145,29 +575,49 @@ services: networks: - external + # PROXY DATABASE SERVERS - mariadb-proxy: + mariadb-proxy1a: image: registry.conarx.tech/containers/mariadb environment: - - MYSQL_USER=zabbix - - MYSQL_PASSWORD=zabbix - - MYSQL_DATABASE=zabbix + - MYSQL_USER=zabbixproxy1a + - MYSQL_PASSWORD=zabbixproxy1a + - MYSQL_DATABASE=zabbixproxy1a networks: - external + mariadb-proxy2ae: + image: registry.conarx.tech/containers/mariadb + environment: + - MYSQL_USER=zabbixproxy2ae + - MYSQL_PASSWORD=zabbixproxy2ae + - MYSQL_DATABASE=zabbixproxy2ae + networks: + - external - mariadb-proxy2: + mariadb-proxy3p: image: registry.conarx.tech/containers/mariadb environment: - - MYSQL_USER=zabbix2 - - MYSQL_PASSWORD=zabbix2 - - MYSQL_DATABASE=zabbix2 + - MYSQL_USER=zabbixproxy3p + - MYSQL_PASSWORD=zabbixproxy3p + - MYSQL_DATABASE=zabbixproxy3p networks: - external + mariadb-proxy4pe: + image: registry.conarx.tech/containers/mariadb + environment: + - MYSQL_USER=zabbixproxy4pe + - MYSQL_PASSWORD=zabbixproxy4pe + - MYSQL_DATABASE=zabbixproxy4pe + networks: + - external networks: external: driver: bridge enable_ipv6: true + ipam: + config: + - subnet: 172.16.1.0/26 \ No newline at end of file diff --git a/tests/docker-compose.yml.postgresql.tmpl b/tests/docker-compose.yml.postgresql.tmpl index 8ceaf76..b1d7d33 100644 --- a/tests/docker-compose.yml.postgresql.tmpl +++ b/tests/docker-compose.yml.postgresql.tmpl @@ -19,7 +19,6 @@ # IN THE SOFTWARE. - services: @@ -57,7 +56,6 @@ services: - external - zabbix-webservice: image: @@PIPELINE_IMAGE@@ environment: @@ -68,74 +66,505 @@ services: - external +# +# PROXIES +# + +# ACTIVE PROXIES - zabbix-proxy: + # Zabbix Proxy 1 - Active - Not Encrypted + zabbix-proxy1a: image: @@PIPELINE_IMAGE@@ environment: - FDC_CI=postgresql - ZABBIX_MODE=proxy - ZABBIX_DATABASE_TYPE=postgresql - - ZABBIX_HOSTNAME=Zabbix proxy + - ZABBIX_HOSTNAME=Zabbix proxy1a - ZABBIX_PROXY_MODE=active - ZABBIX_SERVER=zabbix-server - - POSTGRES_HOST=postgresql-proxy - - POSTGRES_DATABASE=zabbix - - POSTGRES_USER=zabbix - - POSTGRES_PASSWORD=zabbix + - POSTGRES_HOST=postgresql-proxy1a + - POSTGRES_DATABASE=zabbixproxy1a + - POSTGRES_USER=zabbixproxy1a + - POSTGRES_PASSWORD=zabbixproxy1a + networks: + - external + +# Zabbix Proxy 2 - Active - Encrypted + zabbix-proxy2ae: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=proxy + - ZABBIX_DATABASE_TYPE=postgresql + - ZABBIX_HOSTNAME=Zabbix proxy2ae + - ZABBIX_PROXY_MODE=active + - ZABBIX_SERVER=zabbix-server + - ZABBIX_TLS_PSKIDENTITY=zabbixproxy2ae + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + - POSTGRES_HOST=postgresql-proxy2ae + - POSTGRES_DATABASE=zabbixproxy2ae + - POSTGRES_USER=zabbixproxy2ae + - POSTGRES_PASSWORD=zabbixproxy2ae networks: - external + # Zabbix Proxy 3 - Passive - Not Encrypted + zabbix-proxy3p: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=proxy + - ZABBIX_DATABASE_TYPE=postgresql + - ZABBIX_HOSTNAME=Zabbix proxy3p + - ZABBIX_PROXY_MODE=passive + - ZABBIX_SERVER=zabbix-server + - POSTGRES_HOST=postgresql-proxy3p + - POSTGRES_DATABASE=zabbixproxy3p + - POSTGRES_USER=zabbixproxy3p + - POSTGRES_PASSWORD=zabbixproxy3p + networks: + - external + - zabbix-proxy2: + # Zabbix Proxy 4 - Passive - Encrypted + zabbix-proxy4pe: image: @@PIPELINE_IMAGE@@ environment: - FDC_CI=postgresql - ZABBIX_MODE=proxy - ZABBIX_DATABASE_TYPE=postgresql - - ZABBIX_HOSTNAME=Zabbix proxy2 + - ZABBIX_HOSTNAME=Zabbix proxy4pe - ZABBIX_PROXY_MODE=passive - ZABBIX_SERVER=zabbix-server - - ZABBIX_TLS_PSKIDENTITY=proxytest + - ZABBIX_TLS_PSKIDENTITY=zabbixproxy4pe + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + - POSTGRES_HOST=postgresql-proxy4pe + - POSTGRES_DATABASE=zabbixproxy4pe + - POSTGRES_USER=zabbixproxy4pe + - POSTGRES_PASSWORD=zabbixproxy4pe + networks: + - external + + +# +# AGENTS +# + + + # Active Proxy - Not Encrypted + + + zabbix-test-agent-via-proxy1a-a: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy1a-a + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy1a + networks: + - external + + zabbix-test-agent2-via-proxy1a-a: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy1a-a + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy1a + networks: + - external + + + zabbix-test-agent-via-proxy1a-ae: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy1a-ae + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy1a + - ZABBIX_TLS_PSKIDENTITY=agentproxy1a-ae + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + zabbix-test-agent2-via-proxy1a-ae: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy1a-ae + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy1a + - ZABBIX_TLS_PSKIDENTITY=agent2proxy1a-ae + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + + zabbix-test-agent-via-proxy1a-p: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy1a-p + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy1a + networks: + - external + + zabbix-test-agent2-via-proxy1a-p: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy1a-p + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy1a + networks: + - external + + + zabbix-test-agent-via-proxy1a-pe: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy1a-pe + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy1a + - ZABBIX_TLS_PSKIDENTITY=agentproxy1a-pe + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + zabbix-test-agent2-via-proxy1a-pe: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy1a-pe + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy1a + - ZABBIX_TLS_PSKIDENTITY=agent2proxy1a-pe + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + + # Active Proxy - Encrypted + + + zabbix-test-agent-via-proxy2ae-a: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy2ae-a + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy2ae + networks: + - external + + zabbix-test-agent2-via-proxy2ae-a: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy2ae-a + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy2ae + networks: + - external + + + zabbix-test-agent-via-proxy2ae-ae: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy2ae-ae + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy2ae + - ZABBIX_TLS_PSKIDENTITY=agentproxy2ae-ae + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + zabbix-test-agent2-via-proxy2ae-ae: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy2ae-ae + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy2ae + - ZABBIX_TLS_PSKIDENTITY=agent2proxy2ae-ae + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + + zabbix-test-agent-via-proxy2ae-p: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy2ae-p + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy2ae + networks: + - external + + zabbix-test-agent2-via-proxy2ae-p: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy2ae-p + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy2ae + networks: + - external + + + zabbix-test-agent-via-proxy2ae-pe: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy2ae-pe + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy2ae + - ZABBIX_TLS_PSKIDENTITY=agentproxy2ae-pe + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + zabbix-test-agent2-via-proxy2ae-pe: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy2ae-pe + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy2ae + - ZABBIX_TLS_PSKIDENTITY=agent2proxy2ae-pe - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef - - POSTGRES_HOST=postgresql-proxy2 - - POSTGRES_DATABASE=zabbix2 - - POSTGRES_USER=zabbix2 - - POSTGRES_PASSWORD=zabbix2 networks: - external + # Passive Proxy - Not Encrypted + + + zabbix-test-agent-via-proxy3p-a: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy3p-a + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy3p + networks: + - external + + zabbix-test-agent2-via-proxy3p-a: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy3p-a + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy3p + networks: + - external + - zabbix-test-agent-via-proxy: + zabbix-test-agent-via-proxy3p-ae: image: @@PIPELINE_IMAGE@@ environment: - FDC_CI=postgresql - ZABBIX_MODE=agent - - ZABBIX_HOSTNAME=Zabbix test agent via proxy + - ZABBIX_HOSTNAME=Test agent proxy3p-ae - ZABBIX_AGENT_MODE=active - - ZABBIX_SERVER=zabbix-proxy2 - - ZABBIX_TLS_PSKIDENTITY=agenttest + - ZABBIX_SERVER=zabbix-proxy3p + - ZABBIX_TLS_PSKIDENTITY=agentproxy3p-ae - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef networks: - external + zabbix-test-agent2-via-proxy3p-ae: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy3p-ae + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy3p + - ZABBIX_TLS_PSKIDENTITY=agent2proxy3p-ae + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + + zabbix-test-agent-via-proxy3p-p: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy3p-p + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy3p + networks: + - external + + zabbix-test-agent2-via-proxy3p-p: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy3p-p + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy3p + networks: + - external - zabbix-test-agent2-via-proxy: + zabbix-test-agent-via-proxy3p-pe: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy3p-pe + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy3p + - ZABBIX_TLS_PSKIDENTITY=agentproxy3p-pe + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + zabbix-test-agent2-via-proxy3p-pe: image: @@PIPELINE_IMAGE@@ environment: - FDC_CI=postgresql - ZABBIX_MODE=agent2 - - ZABBIX_HOSTNAME=Zabbix test agent2 via proxy + - ZABBIX_HOSTNAME=Test agent2 proxy3p-pe + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy3p + - ZABBIX_TLS_PSKIDENTITY=agent2proxy3p-pe + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + + # Passive Proxy - Encrypted + + + zabbix-test-agent-via-proxy4pe-a: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy4pe-a + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy4pe + networks: + - external + + zabbix-test-agent2-via-proxy4pe-a: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy4pe-a + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy4pe + networks: + - external + + + zabbix-test-agent-via-proxy4pe-ae: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy4pe-ae - ZABBIX_AGENT_MODE=active - - ZABBIX_SERVER=zabbix-proxy2 - - ZABBIX_TLS_PSKIDENTITY=agent2test + - ZABBIX_SERVER=zabbix-proxy4pe + - ZABBIX_TLS_PSKIDENTITY=agentproxy4pe-ae + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + zabbix-test-agent2-via-proxy4pe-ae: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy4pe-ae + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy4pe + - ZABBIX_TLS_PSKIDENTITY=agent2proxy4pe-ae - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef networks: - external + zabbix-test-agent-via-proxy4pe-p: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy4pe-p + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy4pe + networks: + - external + + zabbix-test-agent2-via-proxy4pe-p: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy4pe-p + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy4pe + networks: + - external + + + zabbix-test-agent-via-proxy4pe-pe: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy4pe-pe + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy4pe + - ZABBIX_TLS_PSKIDENTITY=agentproxy4pe-pe + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + zabbix-test-agent2-via-proxy4pe-pe: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy4pe-pe + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy4pe + - ZABBIX_TLS_PSKIDENTITY=agent2proxy4pe-pe + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + + # MAIN ZABBIX DATABASE SERVER postgresql-server: image: registry.conarx.tech/containers/postgresql @@ -146,29 +575,49 @@ services: networks: - external + # PROXY DATABASE SERVERS - postgresql-proxy: + postgresql-proxy1a: image: registry.conarx.tech/containers/postgresql environment: - - POSTGRES_USER=zabbix - - POSTGRES_PASSWORD=zabbix - - POSTGRES_DATABASE=zabbix + - POSTGRES_USER=zabbixproxy1a + - POSTGRES_PASSWORD=zabbixproxy1a + - POSTGRES_DATABASE=zabbixproxy1a networks: - external + postgresql-proxy2ae: + image: registry.conarx.tech/containers/postgresql + environment: + - POSTGRES_USER=zabbixproxy2ae + - POSTGRES_PASSWORD=zabbixproxy2ae + - POSTGRES_DATABASE=zabbixproxy2ae + networks: + - external - postgresql-proxy2: + postgresql-proxy3p: image: registry.conarx.tech/containers/postgresql environment: - - POSTGRES_USER=zabbix2 - - POSTGRES_PASSWORD=zabbix2 - - POSTGRES_DATABASE=zabbix2 + - POSTGRES_USER=zabbixproxy3p + - POSTGRES_PASSWORD=zabbixproxy3p + - POSTGRES_DATABASE=zabbixproxy3p networks: - external + postgresql-proxy4pe: + image: registry.conarx.tech/containers/postgresql + environment: + - POSTGRES_USER=zabbixproxy4pe + - POSTGRES_PASSWORD=zabbixproxy4pe + - POSTGRES_DATABASE=zabbixproxy4pe + networks: + - external networks: external: driver: bridge enable_ipv6: true + ipam: + config: + - subnet: 172.16.2.0/26 \ No newline at end of file diff --git a/tests/docker-compose.yml.timescaledb.tmpl b/tests/docker-compose.yml.timescaledb.tmpl index 27b82bf..7eecc90 100644 --- a/tests/docker-compose.yml.timescaledb.tmpl +++ b/tests/docker-compose.yml.timescaledb.tmpl @@ -19,8 +19,6 @@ # IN THE SOFTWARE. - - services: @@ -58,7 +56,6 @@ services: - external - zabbix-webservice: image: @@PIPELINE_IMAGE@@ environment: @@ -69,77 +66,508 @@ services: - external +# +# PROXIES +# + +# ACTIVE PROXIES - zabbix-proxy: + # Zabbix Proxy 1 - Active - Not Encrypted + zabbix-proxy1a: image: @@PIPELINE_IMAGE@@ environment: - FDC_CI=postgresql - ZABBIX_MODE=proxy - ZABBIX_DATABASE_TYPE=postgresql - - ZABBIX_HOSTNAME=Zabbix proxy + - ZABBIX_HOSTNAME=Zabbix proxy1a - ZABBIX_PROXY_MODE=active - ZABBIX_SERVER=zabbix-server - - POSTGRES_HOST=postgresql-proxy - - POSTGRES_DATABASE=zabbix - - POSTGRES_USER=zabbix - - POSTGRES_PASSWORD=zabbix + - POSTGRES_HOST=postgresql-proxy1a + - POSTGRES_DATABASE=zabbixproxy1a + - POSTGRES_USER=zabbixproxy1a + - POSTGRES_PASSWORD=zabbixproxy1a + networks: + - external + +# Zabbix Proxy 2 - Active - Encrypted + zabbix-proxy2ae: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=proxy + - ZABBIX_DATABASE_TYPE=postgresql + - ZABBIX_HOSTNAME=Zabbix proxy2ae + - ZABBIX_PROXY_MODE=active + - ZABBIX_SERVER=zabbix-server + - ZABBIX_TLS_PSKIDENTITY=zabbixproxy2ae + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + - POSTGRES_HOST=postgresql-proxy2ae + - POSTGRES_DATABASE=zabbixproxy2ae + - POSTGRES_USER=zabbixproxy2ae + - POSTGRES_PASSWORD=zabbixproxy2ae networks: - external + # Zabbix Proxy 3 - Passive - Not Encrypted + zabbix-proxy3p: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=proxy + - ZABBIX_DATABASE_TYPE=postgresql + - ZABBIX_HOSTNAME=Zabbix proxy3p + - ZABBIX_PROXY_MODE=passive + - ZABBIX_SERVER=zabbix-server + - POSTGRES_HOST=postgresql-proxy3p + - POSTGRES_DATABASE=zabbixproxy3p + - POSTGRES_USER=zabbixproxy3p + - POSTGRES_PASSWORD=zabbixproxy3p + networks: + - external - zabbix-proxy2: + + # Zabbix Proxy 4 - Passive - Encrypted + zabbix-proxy4pe: image: @@PIPELINE_IMAGE@@ environment: - FDC_CI=postgresql - ZABBIX_MODE=proxy - ZABBIX_DATABASE_TYPE=postgresql - - ZABBIX_HOSTNAME=Zabbix proxy2 + - ZABBIX_HOSTNAME=Zabbix proxy4pe - ZABBIX_PROXY_MODE=passive - ZABBIX_SERVER=zabbix-server - - ZABBIX_TLS_PSKIDENTITY=proxytest + - ZABBIX_TLS_PSKIDENTITY=zabbixproxy4pe - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef - - POSTGRES_HOST=postgresql-proxy2 - - POSTGRES_DATABASE=zabbix2 - - POSTGRES_USER=zabbix2 - - POSTGRES_PASSWORD=zabbix2 + - POSTGRES_HOST=postgresql-proxy4pe + - POSTGRES_DATABASE=zabbixproxy4pe + - POSTGRES_USER=zabbixproxy4pe + - POSTGRES_PASSWORD=zabbixproxy4pe + networks: + - external + + +# +# AGENTS +# + + + # Active Proxy - Not Encrypted + + + zabbix-test-agent-via-proxy1a-a: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy1a-a + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy1a networks: - external + zabbix-test-agent2-via-proxy1a-a: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy1a-a + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy1a + networks: + - external - zabbix-test-agent-via-proxy: + zabbix-test-agent-via-proxy1a-ae: image: @@PIPELINE_IMAGE@@ environment: - FDC_CI=postgresql - ZABBIX_MODE=agent - - ZABBIX_HOSTNAME=Zabbix test agent via proxy + - ZABBIX_HOSTNAME=Test agent proxy1a-ae + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy1a + - ZABBIX_TLS_PSKIDENTITY=agentproxy1a-ae + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + zabbix-test-agent2-via-proxy1a-ae: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy1a-ae - ZABBIX_AGENT_MODE=active - - ZABBIX_SERVER=zabbix-proxy2 - - ZABBIX_TLS_PSKIDENTITY=agenttest + - ZABBIX_SERVER=zabbix-proxy1a + - ZABBIX_TLS_PSKIDENTITY=agent2proxy1a-ae + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + + zabbix-test-agent-via-proxy1a-p: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy1a-p + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy1a + networks: + - external + + zabbix-test-agent2-via-proxy1a-p: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy1a-p + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy1a + networks: + - external + + + zabbix-test-agent-via-proxy1a-pe: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy1a-pe + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy1a + - ZABBIX_TLS_PSKIDENTITY=agentproxy1a-pe - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef networks: - external + zabbix-test-agent2-via-proxy1a-pe: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy1a-pe + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy1a + - ZABBIX_TLS_PSKIDENTITY=agent2proxy1a-pe + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + + # Active Proxy - Encrypted + + + zabbix-test-agent-via-proxy2ae-a: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy2ae-a + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy2ae + networks: + - external + + zabbix-test-agent2-via-proxy2ae-a: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy2ae-a + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy2ae + networks: + - external + + zabbix-test-agent-via-proxy2ae-ae: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy2ae-ae + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy2ae + - ZABBIX_TLS_PSKIDENTITY=agentproxy2ae-ae + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external - zabbix-test-agent2-via-proxy: + zabbix-test-agent2-via-proxy2ae-ae: image: @@PIPELINE_IMAGE@@ environment: - FDC_CI=postgresql - ZABBIX_MODE=agent2 - - ZABBIX_HOSTNAME=Zabbix test agent2 via proxy + - ZABBIX_HOSTNAME=Test agent2 proxy2ae-ae - ZABBIX_AGENT_MODE=active - - ZABBIX_SERVER=zabbix-proxy2 - - ZABBIX_TLS_PSKIDENTITY=agent2test + - ZABBIX_SERVER=zabbix-proxy2ae + - ZABBIX_TLS_PSKIDENTITY=agent2proxy2ae-ae + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + + zabbix-test-agent-via-proxy2ae-p: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy2ae-p + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy2ae + networks: + - external + + zabbix-test-agent2-via-proxy2ae-p: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy2ae-p + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy2ae + networks: + - external + + + zabbix-test-agent-via-proxy2ae-pe: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy2ae-pe + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy2ae + - ZABBIX_TLS_PSKIDENTITY=agentproxy2ae-pe + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + zabbix-test-agent2-via-proxy2ae-pe: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy2ae-pe + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy2ae + - ZABBIX_TLS_PSKIDENTITY=agent2proxy2ae-pe - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef networks: - external + # Passive Proxy - Not Encrypted + + + zabbix-test-agent-via-proxy3p-a: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy3p-a + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy3p + networks: + - external + + zabbix-test-agent2-via-proxy3p-a: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy3p-a + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy3p + networks: + - external + + + zabbix-test-agent-via-proxy3p-ae: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy3p-ae + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy3p + - ZABBIX_TLS_PSKIDENTITY=agentproxy3p-ae + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + zabbix-test-agent2-via-proxy3p-ae: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy3p-ae + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy3p + - ZABBIX_TLS_PSKIDENTITY=agent2proxy3p-ae + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + + zabbix-test-agent-via-proxy3p-p: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy3p-p + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy3p + networks: + - external + + zabbix-test-agent2-via-proxy3p-p: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy3p-p + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy3p + networks: + - external + + + zabbix-test-agent-via-proxy3p-pe: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy3p-pe + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy3p + - ZABBIX_TLS_PSKIDENTITY=agentproxy3p-pe + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + zabbix-test-agent2-via-proxy3p-pe: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy3p-pe + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy3p + - ZABBIX_TLS_PSKIDENTITY=agent2proxy3p-pe + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + + # Passive Proxy - Encrypted + + + zabbix-test-agent-via-proxy4pe-a: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy4pe-a + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy4pe + networks: + - external + + zabbix-test-agent2-via-proxy4pe-a: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy4pe-a + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy4pe + networks: + - external + + + zabbix-test-agent-via-proxy4pe-ae: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy4pe-ae + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy4pe + - ZABBIX_TLS_PSKIDENTITY=agentproxy4pe-ae + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + zabbix-test-agent2-via-proxy4pe-ae: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy4pe-ae + - ZABBIX_AGENT_MODE=active + - ZABBIX_SERVER=zabbix-proxy4pe + - ZABBIX_TLS_PSKIDENTITY=agent2proxy4pe-ae + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + + zabbix-test-agent-via-proxy4pe-p: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy4pe-p + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy4pe + networks: + - external + + zabbix-test-agent2-via-proxy4pe-p: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy4pe-p + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy4pe + networks: + - external + + + zabbix-test-agent-via-proxy4pe-pe: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent + - ZABBIX_HOSTNAME=Test agent proxy4pe-pe + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy4pe + - ZABBIX_TLS_PSKIDENTITY=agentproxy4pe-pe + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + zabbix-test-agent2-via-proxy4pe-pe: + image: @@PIPELINE_IMAGE@@ + environment: + - FDC_CI=postgresql + - ZABBIX_MODE=agent2 + - ZABBIX_HOSTNAME=Test agent2 proxy4pe-pe + - ZABBIX_AGENT_MODE=passive + - ZABBIX_SERVER=zabbix-proxy4pe + - ZABBIX_TLS_PSKIDENTITY=agent2proxy4pe-pe + - ZABBIX_TLS_PSKKEY=01234567890abcdef01234567890abcdef + networks: + - external + + + # MAIN ZABBIX DATABASE SERVER postgresql-server: - image: registry.conarx.tech/containers/postgresql-timescaledb/2.11.2 + image: registry.conarx.tech/containers/postgresql-timescaledb/3.19:pg16-2.14.2 environment: - POSTGRES_USER=zabbix - POSTGRES_PASSWORD=zabbix @@ -147,29 +575,49 @@ services: networks: - external + # PROXY DATABASE SERVERS - postgresql-proxy: + postgresql-proxy1a: image: registry.conarx.tech/containers/postgresql environment: - - POSTGRES_USER=zabbix - - POSTGRES_PASSWORD=zabbix - - POSTGRES_DATABASE=zabbix + - POSTGRES_USER=zabbixproxy1a + - POSTGRES_PASSWORD=zabbixproxy1a + - POSTGRES_DATABASE=zabbixproxy1a networks: - external + postgresql-proxy2ae: + image: registry.conarx.tech/containers/postgresql + environment: + - POSTGRES_USER=zabbixproxy2ae + - POSTGRES_PASSWORD=zabbixproxy2ae + - POSTGRES_DATABASE=zabbixproxy2ae + networks: + - external - postgresql-proxy2: + postgresql-proxy3p: image: registry.conarx.tech/containers/postgresql environment: - - POSTGRES_USER=zabbix2 - - POSTGRES_PASSWORD=zabbix2 - - POSTGRES_DATABASE=zabbix2 + - POSTGRES_USER=zabbixproxy3p + - POSTGRES_PASSWORD=zabbixproxy3p + - POSTGRES_DATABASE=zabbixproxy3p networks: - external + postgresql-proxy4pe: + image: registry.conarx.tech/containers/postgresql + environment: + - POSTGRES_USER=zabbixproxy4pe + - POSTGRES_PASSWORD=zabbixproxy4pe + - POSTGRES_DATABASE=zabbixproxy4pe + networks: + - external networks: external: driver: bridge enable_ipv6: true + ipam: + config: + - subnet: 172.16.3.0/26 \ No newline at end of file diff --git a/tests/run-cluster-test b/tests/run-cluster-test index d5d0a19..47ce5f6 100755 --- a/tests/run-cluster-test +++ b/tests/run-cluster-test @@ -27,7 +27,7 @@ check_tests() { while [ "$i" -gt 0 ]; do i=$((i-1)) - echo "INFO: Waiting for Zabbix tests to pass... ${i}s" + echo "INFO: Waiting for Zabbix tests to pass [$service]... ${i}s" if docker-compose exec "$service" test -e /PASSED_ZABBIX; then echo "PASSED: - Tests passed for $service" @@ -37,6 +37,7 @@ check_tests() { done if [ "$i" = 0 ]; then + echo "FAILED: - Tests failed for $service" return 1 fi @@ -48,7 +49,7 @@ check_tests() { echo "NOTICE: Starting Zabbix tests" # Run in background so we can see the output -docker-compose up --remove-orphans & +docker-compose up --remove-orphans --renew-anon-volumes --force-recreate & # This is run within a very minimal environment, we don't have access to using for i in {180..0} or for ((xxxxxx)) TESTS_PASSED=yes @@ -58,18 +59,142 @@ fi if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-webservice; then TESTS_PASSED= fi -if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-proxy; then + + +# Encrypted agent via active non-encrypted proxy1a +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-proxy1a; then + TESTS_PASSED= +fi + +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent-via-proxy1a-a; then + TESTS_PASSED= +fi +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent2-via-proxy1a-a; then + TESTS_PASSED= +fi + +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent-via-proxy1a-ae; then + TESTS_PASSED= +fi +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent2-via-proxy1a-ae; then + TESTS_PASSED= +fi + +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent-via-proxy1a-p; then + TESTS_PASSED= +fi +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent2-via-proxy1a-p; then + TESTS_PASSED= +fi + +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent-via-proxy1a-pe; then + TESTS_PASSED= +fi +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent2-via-proxy1a-pe; then + TESTS_PASSED= +fi + +# Encrypted agent via active non-encrypted proxy2ae +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-proxy2ae; then + TESTS_PASSED= +fi + +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent-via-proxy2ae-a; then + TESTS_PASSED= +fi +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent2-via-proxy2ae-a; then + TESTS_PASSED= +fi + +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent-via-proxy2ae-ae; then + TESTS_PASSED= +fi +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent2-via-proxy2ae-ae; then + TESTS_PASSED= +fi + +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent-via-proxy2ae-p; then + TESTS_PASSED= +fi +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent2-via-proxy2ae-p; then + TESTS_PASSED= +fi + +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent-via-proxy2ae-pe; then + TESTS_PASSED= +fi +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent2-via-proxy2ae-pe; then + TESTS_PASSED= +fi + + +# Encrypted agent via active non-encrypted proxy3p +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-proxy3p; then + TESTS_PASSED= +fi + +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent-via-proxy3p-a; then + TESTS_PASSED= +fi +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent2-via-proxy3p-a; then + TESTS_PASSED= +fi + +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent-via-proxy3p-ae; then + TESTS_PASSED= +fi +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent2-via-proxy3p-ae; then + TESTS_PASSED= +fi + +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent-via-proxy3p-p; then + TESTS_PASSED= +fi +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent2-via-proxy3p-p; then + TESTS_PASSED= +fi + +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent-via-proxy3p-pe; then + TESTS_PASSED= +fi +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent2-via-proxy3p-pe; then + TESTS_PASSED= +fi + +# Encrypted agent via active non-encrypted proxy4pe +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-proxy4pe; then + TESTS_PASSED= +fi + +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent-via-proxy4pe-a; then + TESTS_PASSED= +fi +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent2-via-proxy4pe-a; then TESTS_PASSED= fi -if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-proxy2; then + +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent-via-proxy4pe-ae; then + TESTS_PASSED= +fi +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent2-via-proxy4pe-ae; then TESTS_PASSED= fi -if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent-via-proxy; then + +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent-via-proxy4pe-p; then TESTS_PASSED= fi -if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent2-via-proxy; then +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent2-via-proxy4pe-p; then TESTS_PASSED= fi + +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent-via-proxy4pe-pe; then + TESTS_PASSED= +fi +if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-test-agent2-via-proxy4pe-pe; then + TESTS_PASSED= +fi + + if [ -n "$TESTS_PASSED" ] && ! check_tests zabbix-frontend; then TESTS_PASSED= fi diff --git a/usr/local/share/flexible-docker-containers/init.d/48-zabbix.sh b/usr/local/share/flexible-docker-containers/init.d/48-zabbix.sh index a89d4a5..b3b4c57 100755 --- a/usr/local/share/flexible-docker-containers/init.d/48-zabbix.sh +++ b/usr/local/share/flexible-docker-containers/init.d/48-zabbix.sh @@ -404,7 +404,7 @@ if [ "${#database_sql[@]}" -gt 0 ]; then # Normal PostgreSQL for i in "${database_sql[@]}"; do fdc_notice "Loading SQL '$i' into Zabbix PostgreSQL database" - psql -h "$POSTGRES_HOST" -U "$POSTGRES_USER" -w "$POSTGRES_DATABASE" -v ON_ERROR_STOP=ON 2>&1 < "/usr/local/share/$daemon/$database_type_zabbix/$i.sql" + psql -h "$POSTGRES_HOST" -U "$POSTGRES_USER" -w "$POSTGRES_DATABASE" -v ON_ERROR_STOP=ON 2>&1 < "/opt/zabbix/share/$daemon/$database_type_zabbix/$i.sql" done # Check if we're updating the admin user details if [ -n "$zabbix_admin_password_hashed" ]; then @@ -431,17 +431,17 @@ if [ "${#database_sql[@]}" -gt 0 ]; then done # Check if the domain table exists, if not, create the database - if echo "SHOW CREATE TABLE users;" | mariadb --silent --skip-ssl -host "$MYSQL_HOST" --user "$MYSQL_USER" "$MYSQL_DATABASE" 2>&1 | grep -q "ERROR 1146.*Table.*doesn't exist"; then + if echo "SHOW CREATE TABLE users;" | mariadb --skip-ssl --host "$MYSQL_HOST" --user "$MYSQL_USER" "$MYSQL_DATABASE" 2>&1 | grep -q "ERROR 1146.*Table.*doesn't exist"; then fdc_notice "Initializing Zabbix MySQL database" { for i in "${database_sql[@]}"; do - cat "/usr/local/share/$daemon/$database_type_zabbix/$i.sql" + cat "/opt/zabbix/share/$daemon/$database_type_zabbix/$i.sql" done # Check if we're updating the admin user details if [ -n "$zabbix_admin_password_hashed" ]; then echo "UPDATE users SET username = '$ZABBIX_ADMIN_USERNAME', passwd = '$zabbix_admin_password_hashed' WHERE username = 'Admin';" fi - } | mariadb --silent --skip-ssl --host "$MYSQL_HOST" --user "$MYSQL_USER" "$MYSQL_DATABASE" + } | mariadb --skip-ssl --host "$MYSQL_HOST" --user "$MYSQL_USER" "$MYSQL_DATABASE" fi unset MYSQL_PWD diff --git a/usr/local/share/flexible-docker-containers/pre-exec-tests.d/48-zabbix.sh b/usr/local/share/flexible-docker-containers/pre-exec-tests.d/48-zabbix.sh index c7290c0..cffe781 100644 --- a/usr/local/share/flexible-docker-containers/pre-exec-tests.d/48-zabbix.sh +++ b/usr/local/share/flexible-docker-containers/pre-exec-tests.d/48-zabbix.sh @@ -19,61 +19,4 @@ # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS # IN THE SOFTWARE. - -if [ "$ZABBIX_MODE" = "server" ]; then - - # shellcheck disable=SC2154 - if [ "$database_type_zabbix" = "postgresql" ]; then - export PGPASSWORD="$POSTGRES_PASSWORD" - - fdc_notice "Adding Zabbix proxy configuration" - ( - echo "DELETE FROM ids WHERE table_name='hosts' AND field_name='hostid';" - echo "DELETE FROM ids WHERE table_name='interface' AND field_name='interfaceid';" - echo "INSERT INTO ids (table_name,field_name,nextid) VALUES ('hosts','hostid',(SELECT MAX(hostid) AS id FROM hosts)+1);" - echo "INSERT INTO ids (table_name,field_name,nextid) VALUES ('interface','interfaceid',(SELECT MAX(interfaceid) AS id FROM interface)+1);" - - echo "INSERT INTO hosts (hostid,host,description,proxy_address,status,tls_accept,tls_connect) VALUES ((SELECT nextid FROM ids WHERE table_name = 'hosts' AND field_name = 'hostid')+1,'Zabbix proxy','Zabbix proxy','zabbix-proxy',5,1,1);" - - echo "INSERT INTO hosts (hostid,host,description,status,tls_accept,tls_connect,tls_psk_identity,tls_psk) VALUES ((SELECT nextid FROM ids WHERE table_name = 'hosts' AND field_name = 'hostid')+2,'Zabbix proxy2','Zabbix proxy2',6,1,2,'proxytest','01234567890abcdef01234567890abcdef');" - echo "INSERT INTO interface (interfaceid,hostid,main,type,useip,dns,port) VALUES ((SELECT nextid FROM ids WHERE table_name = 'interface' AND field_name = 'interfaceid')+1,(SELECT nextid FROM ids WHERE table_name = 'hosts' AND field_name = 'hostid')+2,1,0,0,'zabbix-proxy2',10051);" - - echo "INSERT INTO host_rtdata (hostid) VALUES ((SELECT hostid FROM hosts WHERE host = 'Zabbix proxy'));" - echo "INSERT INTO host_rtdata (hostid) VALUES ((SELECT hostid FROM hosts WHERE host = 'Zabbix proxy2'));" - - echo "DELETE FROM ids WHERE table_name='hosts' AND field_name='hostid';" - echo "DELETE FROM ids WHERE table_name='interface' AND field_name='interfaceid';" - echo "INSERT INTO ids (table_name,field_name,nextid) VALUES ('hosts','hostid',(SELECT MAX(hostid) AS id FROM hosts)+1);" - echo "INSERT INTO ids (table_name,field_name,nextid) VALUES ('interface','interfaceid',(SELECT MAX(interfaceid) AS id FROM interface)+1);" - ) | psql -h "$POSTGRES_HOST" -U "$POSTGRES_USER" -w "$POSTGRES_DATABASE" -q -v ON_ERROR_STOP=ON - - unset PGPASSWORD - - elif [ "$database_type_zabbix" = "mysql" ]; then - export MYSQL_PWD="$MYSQL_PASSWORD" - - fdc_notice "Adding Zabbix proxy configuration" - ( - echo "DELETE FROM ids WHERE table_name='hosts' AND field_name='hostid';" - echo "DELETE FROM ids WHERE table_name='interface' AND field_name='interfaceid';" - echo "INSERT INTO ids (table_name,field_name,nextid) VALUES ('hosts','hostid',(SELECT MAX(hostid) AS id FROM hosts)+1);" - echo "INSERT INTO ids (table_name,field_name,nextid) VALUES ('interface','interfaceid',(SELECT MAX(interfaceid) AS id FROM interface)+1);" - - echo "INSERT INTO hosts (hostid,host,description,proxy_address,status,tls_accept,tls_connect) VALUES ((SELECT nextid FROM ids WHERE table_name = 'hosts' AND field_name = 'hostid')+1,'Zabbix proxy','Zabbix proxy','zabbix-proxy',5,1,1);" - - echo "INSERT INTO hosts (hostid,host,description,status,tls_accept,tls_connect,tls_psk_identity,tls_psk) VALUES ((SELECT nextid FROM ids WHERE table_name = 'hosts' AND field_name = 'hostid')+2,'Zabbix proxy2','Zabbix proxy2',6,1,2,'proxytest','01234567890abcdef01234567890abcdef');" - echo "INSERT INTO interface (interfaceid,hostid,main,type,useip,dns,port) VALUES ((SELECT nextid FROM ids WHERE table_name = 'interface' AND field_name = 'interfaceid')+1,(SELECT nextid FROM ids WHERE table_name = 'hosts' AND field_name = 'hostid')+2,1,0,0,'zabbix-proxy2',10051);" - - echo "INSERT INTO host_rtdata (hostid) VALUES ((SELECT hostid FROM hosts WHERE host = 'Zabbix proxy'));" - echo "INSERT INTO host_rtdata (hostid) VALUES ((SELECT hostid FROM hosts WHERE host = 'Zabbix proxy2'));" - - echo "DELETE FROM ids WHERE table_name='hosts' AND field_name='hostid';" - echo "DELETE FROM ids WHERE table_name='interface' AND field_name='interfaceid';" - echo "INSERT INTO ids (table_name,field_name,nextid) VALUES ('hosts','hostid',(SELECT MAX(hostid) AS id FROM hosts)+1);" - echo "INSERT INTO ids (table_name,field_name,nextid) VALUES ('interface','interfaceid',(SELECT MAX(interfaceid) AS id FROM interface)+1);" - ) | mariadb --skip-ssl --host "$MYSQL_HOST" --user "$MYSQL_USER" "$MYSQL_DATABASE" - - unset MYSQL_PWD - fi - -fi +# NK: Proxy setup moved to frontend test of API diff --git a/usr/local/share/flexible-docker-containers/pre-init-tests.d/48-zabbix.sh b/usr/local/share/flexible-docker-containers/pre-init-tests.d/48-zabbix.sh index 63df866..5ce6f92 100644 --- a/usr/local/share/flexible-docker-containers/pre-init-tests.d/48-zabbix.sh +++ b/usr/local/share/flexible-docker-containers/pre-init-tests.d/48-zabbix.sh @@ -24,7 +24,19 @@ export ZABBIX_ADMIN_USERNAME=testuser export ZABBIX_ADMIN_PASSWORD=testpassword -if [ "$ZABBIX_MODE" = "frontend" ]; then +if [ "$ZABBIX_MODE" = "server" ]; then +# echo "DebugLevel=3" >> /etc/zabbix/zabbix_server.conf.d/99-tests.conf + echo "CacheUpdateFrequency=1" >> /etc/zabbix/zabbix_server.conf.d/99-tests.conf + +elif [ "$ZABBIX_MODE" = "proxy" ]; then +# echo "DebugLevel=3" >> /etc/zabbix/zabbix_proxy.conf.d/99-tests.conf + true + +elif [ "$ZABBIX_MODE" = "agent" ]; then +# echo "DebugLevel=5" >> /etc/zabbix/zabbix_agentd.conf.d/99-tests.conf + true + +elif [ "$ZABBIX_MODE" = "frontend" ]; then cat << EOF > /etc/nginx/http.d/99-fdc-ci.conf # The CI/CD runner is sometimes slow, so we allow some more time for requests proxy_read_timeout 900s; diff --git a/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-frontend.sh b/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-frontend.sh index fa66359..d4d3e4c 100644 --- a/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-frontend.sh +++ b/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-frontend.sh @@ -61,8 +61,8 @@ function zabbix_api_call() { function test_zabbix_frontend() { ipv=$1 - fdc_test_start zabbix-frontend "Testing frontend API using IPv$ipv" - fdc_test_progress zabbix-frontend "Getting API bearer token using IPv$ipv" + fdc_test_start zabbix-frontend:frontend "Testing frontend API using IPv$ipv" + fdc_test_progress zabbix-frontend:frontend "Getting API bearer token using IPv$ipv" for i in {5..0}; do # Grab API bearer token api_result=$( @@ -83,26 +83,26 @@ function test_zabbix_frontend() { fi bearer_token=$(echo "$api_result" | jq .result | sed -e 's/"//g') if [ -z "$bearer_token" ]; then - fdc_test_fail zabbix-frontend "Failed to get API bearer token using IPv$ipv" + fdc_test_fail zabbix-frontend:frontend "Failed to get API bearer token using IPv$ipv" cat output.log false fi if [ "$bearer_token" != "null" ]; then - fdc_test_progress zabbix-frontend "Got API bearer token using IPv$ipv" + fdc_test_progress zabbix-frontend:frontend "Got API bearer token using IPv$ipv" break fi - fdc_test_progress zabbix-frontend "Waiting for bearer token from API using IPv$ipv ($i)..." + fdc_test_progress zabbix-frontend:frontend "Waiting for bearer token from API using IPv$ipv ($i)..." sleep 1 done # NK: a value of 0 means timeout if [ "$i" = "0" ]; then - fdc_test_fail zabbix-frontend "Timeout while getting API bearer token" + fdc_test_fail zabbix-frontend:frontend "Timeout while getting API bearer token" cat output.log false fi echo "API RESULT GET TOKEN: $api_result => $bearer_token" - fdc_test_progress zabbix-frontend "Getting hostid via API using IPv$ipv" + fdc_test_progress zabbix-frontend:frontend "Getting hostid via API using IPv$ipv" api_result=$( zabbix_api_call "$bearer_token" \ '{"jsonrpc":"2.0","method":"host.get","params":{"filter":{"host":["'"$ZABBIX_SERVER_AGENT_NAME"'"]}},"id":1}' \ @@ -110,13 +110,13 @@ function test_zabbix_frontend() { ) hostid=$(echo "$api_result" | jq ".result[0].hostid" | sed -e 's/"//g') if [ -z "$hostid" ]; then - fdc_test_fail zabbix-frontend "Failed to get hostid via API using IPv$ipv" + fdc_test_fail zabbix-frontend:frontend "Failed to get hostid via API using IPv$ipv" cat output.log false fi - fdc_test_progress zabbix-frontend "Waiting for agent item 'system.uptime' to update via API using IPv$ipv" - last_value="" + fdc_test_progress zabbix-frontend:frontend "Waiting for agent item 'system.uptime' to update via API using IPv$ipv" + last_value="0" for i in {240..0}; do api_result=$( zabbix_api_call "$bearer_token" \ @@ -128,55 +128,173 @@ function test_zabbix_frontend() { # If last value is set and we have a new value, then break if [ -n "$last_value" ] && [ "$last_value" != "$value" ]; then - fdc_test_progress zabbix-frontend "Got last agent item 'system.uptime' value $last_value via IPv$ipv with current value $value ... OK" + fdc_test_progress zabbix-frontend:frontend "Got last agent item 'system.uptime' value $last_value via IPv$ipv with current value $value ... OK" break fi if [ -n "$value" ]; then last_value=$value fi - fdc_test_progress zabbix-frontend "Waiting for agent item 'system.uptime' value to change using IPv$ipv ($i)..." + fdc_test_progress zabbix-frontend:frontend "Waiting for agent item 'system.uptime' value to change using IPv$ipv ($i)..." sleep 1 done # NK: a value of 0 means timeout if [ "$i" = "0" ]; then - fdc_test_fail zabbix-frontend "Timeout while waiting for agent item 'system.uptime'" + fdc_test_fail zabbix-frontend:frontend "Timeout while waiting for agent item 'system.uptime'" cat output.log false fi - fdc_test_pass zabbix-frontend "API test of data from agent passed using IPv$ipv" + fdc_test_pass zabbix-frontend:frontend "API test of data from agent passed using IPv$ipv" + +} - fdc_test_progress zabbix-frontend "Waiting for proxy server 'lastacess' via API using IPv$ipv" - last_value="" +function test_zabbix_proxy() { + proxy_hostname=$1 + proxy_name=$2 + proxy_mode=$3 + proxy_psk_identity=$4 + proxy_psk_key=$5 + + + fdc_test_start zabbix-frontend:proxy "Creating $proxy_hostname using frontend API" + fdc_test_progress zabbix-frontend:proxy "Getting API bearer token for $proxy_hostname" + for i in {3..0}; do + # Grab API bearer token + api_result=$( + curl --max-time 300 --fail \ + --trace-ascii output.log \ + --header "Content-Type: application/json-rpc" \ + --data '{"jsonrpc":"2.0","method":"user.login","params":{"username":"'"$ZABBIX_ADMIN_USERNAME"'","password":"'"$ZABBIX_ADMIN_PASSWORD"'"},"id":1}' \ + "http://localhost/api_jsonrpc.php" \ + || : + ) + + { + echo "TEST_ZABBIX_FRONTEND STATUS ($i):" + cat output.log + } >&2 + + if [ -z "$api_result" ]; then + sleep 1 + continue + fi + + bearer_token=$(echo "$api_result" | jq .result | sed -e 's/"//g') + if [ -z "$bearer_token" ]; then + fdc_test_fail zabbix-frontend:proxy "Failed to get API bearer token for $proxy_hostname" + cat output.log + false + fi + if [ "$bearer_token" != "null" ]; then + fdc_test_progress zabbix-frontend:proxy "Got API bearer token for $proxy_hostname" + break + fi + fdc_test_progress zabbix-frontend:proxy "Waiting for bearer token from API for $proxy_hostname ($i)..." + sleep 1 + done + # NK: a value of 0 means timeout + if [ "$i" = "0" ]; then + fdc_test_fail zabbix-frontend:proxy "Timeout while getting API bearer token for $proxy_hostname" + cat output.log + false + fi + echo "API RESULT GET TOKEN FOR AGENT VIA PROXY: $api_result => $bearer_token" + + # Handle active configuration + if [ "$proxy_mode" = "active" ]; then + fdc_test_progress zabbix-frontend:agent "Proxy $proxy_hostname is ACTIVE" + if [ -n "$proxy_psk_key" ] && [ -n "$proxy_psk_identity" ]; then + fdc_test_progress zabbix-frontend:agent "Proxy $proxy_hostname is ENCRYPTED" + address="127.0.0.1" + allowed_access="$proxy_hostname" + tls_connect=1 + tls_accept=2 + operating_mode=0 + else + fdc_test_progress zabbix-frontend:agent "Proxy $proxy_hostname is NOT ENCRYPTED" + address="127.0.0.1" + allowed_access="$proxy_hostname" + tls_connect=1 + tls_accept=1 + operating_mode=0 + fi + # Handle passive configuration + elif [ "$proxy_mode" = "passive" ]; then + fdc_test_progress zabbix-frontend:agent "Proxy $proxy_hostname is PASSIVE" + if [ -n "$proxy_psk_key" ] && [ -n "$proxy_psk_identity" ]; then + fdc_test_progress zabbix-frontend:agent "Proxy $proxy_hostname is ENCRYPTED" + address="$proxy_hostname" + allowed_access="" + tls_connect=2 + tls_accept=1 + operating_mode=1 + else + fdc_test_progress zabbix-frontend:agent "Proxy $proxy_hostname is NOT ENCRYPTED" + address="$proxy_hostname" + allowed_access="" + tls_accept=1 + tls_connect=1 + operating_mode=1 + fi + else + fdc_test_fail zabbix-frontend:proxy "Invalid proxy mode $proxy_mode for $proxy_hostname" + false + fi + + fdc_test_progress zabbix-frontend:proxy "Setting up proxy $proxy_hostname" + api_result=$( + zabbix_api_call "$bearer_token" \ + '{"jsonrpc":"2.0","method":"proxy.create","params":{"name":"'"$proxy_name"'","address":"'"$address"'","proxy_groupid":0,"allowed_addresses":"'"$allowed_access"'","operating_mode":'"$operating_mode"',"tls_accept":'"$tls_accept"',"tls_connect":'"$tls_connect"',"tls_psk_identity":"'"$proxy_psk_identity"'","tls_psk":"'"$proxy_psk_key"'"},"id":1}' + ) + proxyid1=$(echo "$api_result" | jq ".result.proxyids[0]" | sed -e 's/"//g') + if [ -z "$proxyid1" ]; then + fdc_test_fail zabbix-frontend:proxy "Failed to create new proxy $proxy_hostname" + cat output.log + false + fi + + + fdc_test_progress zabbix-frontend:proxy "Getting proxyid via API for $proxy_hostname" + api_result=$( + zabbix_api_call "$bearer_token" \ + '{"jsonrpc":"2.0","method":"proxy.get","params":{"filter":{"name":"'"$proxy_name"'"}},"id":1}' + ) + proxyid2=$(echo "$api_result" | jq ".result[0].proxyid" | sed -e 's/"//g') + if [ -z "$proxyid2" ]; then + fdc_test_fail zabbix-frontend:proxy "Failed to get proxyid via API for $proxy_hostname" + cat output.log + false + fi + + + fdc_test_progress zabbix-frontend:proxy "Waiting for proxy item 'last_access' to update via API for $proxy_hostname" + last_value="0" for i in {240..0}; do api_result=$( zabbix_api_call "$bearer_token" \ - '{"jsonrpc":"2.0","method":"proxy.get","params":{"output":"extend","filter":{"host":"Zabbix proxy"}},"id":1}' \ - "--ipv$ipv" + '{"jsonrpc":"2.0","method":"proxy.get","params":{"output":"extend","proxyids":'"$proxyid1"'},"id":1}' ) - value=$(echo "$api_result" | jq ".result[0].lastaccess" | sed -e 's/"//g') # If last value is set and we have a new value, then break if [ -n "$last_value" ] && [ "$last_value" != "$value" ]; then - fdc_test_progress zabbix-frontend "Got last proxy access value $last_value via IPv$ipv with current value $value ... OK" + fdc_test_progress zabbix-frontend:proxy "Got last proxy item 'last_access' value $last_value with current value $value for $proxy_hostname ... OK" break fi if [ -n "$value" ]; then last_value=$value fi - fdc_test_progress zabbix-frontend "Waiting for last proxy access value to change ($i) using IPv$ipv..." + fdc_test_progress zabbix-frontend:proxy "Waiting for proxy item 'last_access' value to change for $proxy_hostname ($i)..." sleep 1 done # NK: a value of 0 means timeout if [ "$i" = "0" ]; then - fdc_test_fail zabbix-frontend "Timeout while waiting for proxy last access using IPv$ipv" + fdc_test_fail zabbix-frontend:proxy "Timeout while waiting for proxy item 'last_access' for $proxy_hostname" cat output.log false fi - fdc_test_pass zabbix-frontend "API test of proxy data from agent passed using IPv$ipv" - + fdc_test_pass zabbix-frontend:proxy "API test of data from agent passed for $proxy_hostname" } @@ -184,11 +302,51 @@ function test_zabbix_frontend() { function test_zabbix_agent() { agent_hostname=$1 agent_name=$2 - agent_psk_identity=$3 - agent_psk_key=$4 + agent_mode=$3 + agent_psk_identity=$4 + agent_psk_key=$5 + agent_proxy=$6 + + + # Handle active configuration + if [ "$agent_mode" = "active" ]; then + fdc_test_progress zabbix-frontend:agent "Agent $agent_hostname is ACTIVE" + if [ -n "$agent_psk_key" ] && [ -n "$agent_psk_identity" ]; then + fdc_test_progress zabbix-frontend:agent "Agent $agent_hostname is ENCRYPTED" + tls_connect=1 + tls_accept=2 + operating_mode=0 + else + fdc_test_progress zabbix-frontend:agent "Agent $agent_hostname is NOT ENCRYPTED" + tls_connect=1 + tls_accept=1 + operating_mode=0 + fi + agent_template="Linux by Zabbix agent active" + # Handle passive configuration + elif [ "$agent_mode" = "passive" ]; then + fdc_test_progress zabbix-frontend:agent "Agent $agent_hostname is PASSIVE" + if [ -n "$agent_psk_key" ] && [ -n "$agent_psk_identity" ]; then + fdc_test_progress zabbix-frontend:agent "Agent $agent_hostname is ENCRYPTED" + tls_connect=2 + tls_accept=1 + operating_mode=1 + else + fdc_test_progress zabbix-frontend:agent "Agent $agent_hostname is NOT ENCRYPTED" + tls_accept=1 + tls_connect=1 + operating_mode=1 + fi + agent_template="Linux by Zabbix agent" + else + fdc_test_fail zabbix-frontend:proxy "Invalid proxy mode $agent_mode for $agent_hostname" + false + fi - fdc_test_start zabbix-frontend "Creating $agent_hostname using frontend API" - fdc_test_progress zabbix-frontend "Getting API bearer token for $agent_hostname" + + + fdc_test_start zabbix-frontend:agent "Creating $agent_hostname using frontend API" + fdc_test_progress zabbix-frontend:agent "Getting API bearer token for $agent_hostname" for i in {3..0}; do # Grab API bearer token api_result=$( @@ -212,20 +370,20 @@ function test_zabbix_agent() { bearer_token=$(echo "$api_result" | jq .result | sed -e 's/"//g') if [ -z "$bearer_token" ]; then - fdc_test_fail zabbix-frontend "Failed to get API bearer token for $agent_hostname" + fdc_test_fail zabbix-frontend:agent "Failed to get API bearer token for $agent_hostname" cat output.log false fi if [ "$bearer_token" != "null" ]; then - fdc_test_progress zabbix-frontend "Got API bearer token for $agent_hostname" + fdc_test_progress zabbix-frontend:agent "Got API bearer token for $agent_hostname" break fi - fdc_test_progress zabbix-frontend "Waiting for bearer token from API for $agent_hostname ($i)..." + fdc_test_progress zabbix-frontend:agent "Waiting for bearer token from API for $agent_hostname ($i)..." sleep 1 done # NK: a value of 0 means timeout if [ "$i" = "0" ]; then - fdc_test_fail zabbix-frontend "Timeout while getting API bearer token for $agent_hostname" + fdc_test_fail zabbix-frontend:agent "Timeout while getting API bearer token for $agent_hostname" cat output.log false fi @@ -233,7 +391,7 @@ function test_zabbix_agent() { - fdc_test_progress zabbix-frontend "Getting hostgroup via API for $agent_hostname" + fdc_test_progress zabbix-frontend:agent "Getting hostgroup via API for $agent_hostname" api_result=$( zabbix_api_call "$bearer_token" \ '{"jsonrpc":"2.0","method":"hostgroup.get","params":{"output":"extend","filter":{"name":["Virtual machines"]}},"id":1}' @@ -241,75 +399,78 @@ function test_zabbix_agent() { hostgroupid=$(echo "$api_result" | jq ".result[0].groupid" | sed -e 's/"//g') if [ -z "$hostgroupid" ] || [ "$hostgroupid" = "null" ]; then - fdc_test_fail zabbix-frontend "Failed to get hostgroup via API for $agent_hostname" + fdc_test_fail zabbix-frontend:agent "Failed to get hostgroup via API for $agent_hostname" cat output.log false fi - fdc_test_pass zabbix-frontend "Got hostgroup from API for $agent_hostname" + fdc_test_pass zabbix-frontend:agent "Got hostgroup from API for $agent_hostname" - fdc_test_progress zabbix-frontend "Getting template via API for $agent_hostname" + fdc_test_progress zabbix-frontend:agent "Getting template via API for $agent_hostname" api_result=$( zabbix_api_call "$bearer_token" \ - '{"jsonrpc":"2.0","method":"template.get","params":{"output":"extend","filter":{"name":["Linux by Zabbix agent active"]}},"id":1}' + '{"jsonrpc":"2.0","method":"template.get","params":{"output":"extend","filter":{"name":["'"$agent_template"'"]}},"id":1}' ) templateid=$(echo "$api_result" | jq ".result[0].templateid" | sed -e 's/"//g') if [ -z "$templateid" ] || [ "$templateid" = "null" ]; then - fdc_test_fail zabbix-frontend "Failed to get template via API for $agent_hostname" + fdc_test_fail zabbix-frontend:agent "Failed to get template via API for $agent_hostname" cat output.log false fi - fdc_test_pass zabbix-frontend "Got template from API for $agent_hostname" - + fdc_test_pass zabbix-frontend:agent "Got template from API for $agent_hostname" - # shellcheck disable=SC2154 - fdc_test_progress zabbix-frontend "Getting proxy via API for $agent_hostnamey" - api_result=$( - zabbix_api_call "$bearer_token" \ - '{"jsonrpc":"2.0","method":"proxy.get","params":{"output":"extend","filter":{"host":"Zabbix proxy2"}},"id":1}' - ) - proxyid=$(echo "$api_result" | jq ".result[0].proxyid" | sed -e 's/"//g') + proxy_monitoring="" + if [ -n "$agent_proxy" ]; then + # shellcheck disable=SC2154 + fdc_test_progress zabbix-frontend:agent "Getting proxy via API for $agent_hostnamey" + api_result=$( + zabbix_api_call "$bearer_token" \ + '{"jsonrpc":"2.0","method":"proxy.get","params":{"output":"extend","filter":{"name":"'"$agent_proxy"'"}},"id":1}' + ) + proxyid=$(echo "$api_result" | jq ".result[0].proxyid" | sed -e 's/"//g') - if [ -z "$proxyid" ] || [ "$proxyid" = "null" ]; then - fdc_test_fail zabbix-frontend "Failed to get proxy via API for $agent_hostname" - cat output.log - false + if [ -z "$proxyid" ] || [ "$proxyid" = "null" ]; then + fdc_test_fail zabbix-frontend:agent "Failed to get proxy via API for $agent_hostname" + cat output.log + false + fi + # 0 - server, 1 - proxy, 2 - proxy group + proxy_monitoring=',"monitored_by":1,"proxyid":'"$proxyid" + fdc_test_pass zabbix-frontend:agent "Got proxy from API for $agent_hostname" fi - fdc_test_pass zabbix-frontend "Got proxy from API for $agent_hostname" - - fdc_test_progress zabbix-frontend "Setting up $agent_hostname" + fdc_test_progress zabbix-frontend:agent "Setting up $agent_hostname" api_result=$( zabbix_api_call "$bearer_token" \ - '{"jsonrpc":"2.0","method":"host.create","params":{"host":"'"$agent_name"'","interfaces":[{"main":1,"type":1,"useip":0,"dns":"'"$agent_hostname"'","ip":"127.0.0.1","port":"10051"}],"proxy_hostid":"'"$proxyid"'","groups":[{"groupid":"'"$hostgroupid"'"}],"tls_accept":2,"tls_connect":2,"tls_psk_identity":"'"$agent_psk_identity"'","tls_psk":"'"$agent_psk_key"'","templates":{"templateid":"'"$templateid"'"}},"id":1}' + '{"jsonrpc":"2.0","method":"host.create","params":{"host":"'"$agent_name"'","interfaces":[{"main":1,"type":1,"useip":0,"dns":"'"$agent_hostname"'","ip":"127.0.0.1","port":"10050"}]'"$proxy_monitoring"',"groups":[{"groupid":"'"$hostgroupid"'"}],"tls_accept":'"$tls_accept"',"tls_connect":'"$tls_connect"',"tls_psk_identity":"'"$agent_psk_identity"'","tls_psk":"'"$agent_psk_key"'","templates":{"templateid":"'"$templateid"'"}},"id":1}' ) hostid=$(echo "$api_result" | jq ".result.hostids[0]" | sed -e 's/"//g') if [ -z "$hostid" ]; then - fdc_test_fail zabbix-frontend "Failed to create new agent $agent_hostname" + fdc_test_fail zabbix-frontend:agent "Failed to create new agent $agent_hostname" cat output.log false fi - fdc_test_progress zabbix-frontend "Getting hostid via API for $agent_hostname" + fdc_test_progress zabbix-frontend:agent "Getting hostid via API for $agent_hostname" api_result=$( zabbix_api_call "$bearer_token" \ '{"jsonrpc":"2.0","method":"host.get","params":{"filter":{"host":["'"$agent_name"'"]}},"id":1}' ) hostid=$(echo "$api_result" | jq ".result[0].hostid" | sed -e 's/"//g') if [ -z "$hostid" ]; then - fdc_test_fail zabbix-frontend "Failed to get hostid via API for $agent_hostname" + fdc_test_fail zabbix-frontend:agent "Failed to get hostid via API for $agent_hostname" cat output.log false fi - fdc_test_progress zabbix-frontend "Waiting for agent item 'system.uptime' to update via API for $agent_hostname" + fdc_test_progress zabbix-frontend:agent "Waiting for agent item 'system.uptime' to update via API for $agent_hostname" last_value="" for i in {240..0}; do api_result=$( @@ -320,22 +481,22 @@ function test_zabbix_agent() { # If last value is set and we have a new value, then break if [ -n "$last_value" ] && [ "$last_value" != "$value" ]; then - fdc_test_progress zabbix-frontend "Got last agent item 'system.uptime' value $last_value with current value $value for $agent_hostname ... OK" + fdc_test_progress zabbix-frontend:agent "Got last agent item 'system.uptime' value $last_value with current value $value for $agent_hostname ... OK" break fi if [ -n "$value" ]; then last_value=$value fi - fdc_test_progress zabbix-frontend "Waiting for agent item 'system.uptime' value to change for $agent_hostname ($i)..." + fdc_test_progress zabbix-frontend:agent "Waiting for agent item 'system.uptime' value to change for $agent_hostname ($i)..." sleep 1 done # NK: a value of 0 means timeout if [ "$i" = "0" ]; then - fdc_test_fail zabbix-frontend "Timeout while waiting for agent item 'system.uptime' for $agent_hostname" + fdc_test_fail zabbix-frontend:agent "Timeout while waiting for agent item 'system.uptime' for $agent_hostname" cat output.log false fi - fdc_test_pass zabbix-frontend "API test of data from agent passed for $agent_hostname" + fdc_test_pass zabbix-frontend:agent "API test of data from agent passed for $agent_hostname" } @@ -356,7 +517,7 @@ if [ "$database_type_zabbix" = "postgresql" ]; then userlist=$(echo "SELECT * FROM users;" | psql -h "$POSTGRES_HOST" -U "$POSTGRES_USER" -w "$POSTGRES_DATABASE" -v ON_ERROR_STOP=ON 2>&1) echo "$userlist" 2>&1 # Wait for database initialization to complete - if echo "SELECT * FROM users;" | psql -h "$POSTGRES_HOST" -U "$POSTGRES_USER" -w "$POSTGRES_DATABASE" -v ON_ERROR_STOP=ON | grep testuser; then + if echo "SELECT * FROM users;" | psql -h "$POSTGRES_HOST" -U "$POSTGRES_USER" -w "$POSTGRES_DATABASE" -v ON_ERROR_STOP=ON | grep -q testuser; then fdc_test_progress zabbix-frontend "PostgreSQL server is UP, continuing" break fi @@ -393,9 +554,101 @@ if [ -n "$(ip -6 route show default)" ]; then test_zabbix_frontend 6 fi -# Add additional agent via proxy and test result -test_zabbix_agent zabbix-test-agent-via-proxy "Zabbix test agent via proxy" "agenttest" "01234567890abcdef01234567890abcdef" -test_zabbix_agent zabbix-test-agent2-via-proxy "Zabbix test agent2 via proxy" "agent2test" "01234567890abcdef01234567890abcdef" -fdc_test_pass zabbix-frontend "Zabbix frontend tests passed" +# +# PROXIES +# + +# a - represents active +# p - represents passive +# e - represents encrypted +# <proxy hostname> <proxy name> <proxy mode> <proxy PSK identity> <proxy PSK key> +# ACTIVE PROXY + +# - Not Encrypted +test_zabbix_proxy zabbix-proxy1a "Zabbix proxy1a" active "" "" +# - Encrypted +test_zabbix_proxy zabbix-proxy2ae "Zabbix proxy2ae" active "zabbixproxy2ae" "01234567890abcdef01234567890abcdef" + +# PASSIVE PROXY + +# - Not Encrypted +test_zabbix_proxy zabbix-proxy3p "Zabbix proxy3p" passive "" "" +# - Encrypted +test_zabbix_proxy zabbix-proxy4pe "Zabbix proxy4pe" passive "zabbixproxy4pe" "01234567890abcdef01234567890abcdef" + + +# +# AGENTS +# + +# a - represents active +# p - represents passive +# e - represents encrypted +# <agent hostname> <agent name> <agent mode> <agent PSK identity> <agent PSK key> <proxy name> + + +# ACTIVE PROXY + +# Active Proxy - Not Encrypted +# - Active Agent - Not Encrypted +test_zabbix_agent zabbix-test-agent-via-proxy1a-a "Test agent proxy1a-a" active "" "" "Zabbix proxy1a" +test_zabbix_agent zabbix-test-agent2-via-proxy1a-a "Test agent2 proxy1a-a" active "" "" "Zabbix proxy1a" +# - Active Agent - Encrypted +test_zabbix_agent zabbix-test-agent-via-proxy1a-ae "Test agent proxy1a-ae" active "agentproxy1a-ae" "01234567890abcdef01234567890abcdef" "Zabbix proxy1a" +test_zabbix_agent zabbix-test-agent2-via-proxy1a-ae "Test agent2 proxy1a-ae" active "agent2proxy1a-ae" "01234567890abcdef01234567890abcdef" "Zabbix proxy1a" +# - Passive Agent - Not Encrypted +test_zabbix_agent zabbix-test-agent-via-proxy1a-p "Test agent proxy1a-p" passive "" "" "Zabbix proxy1a" +test_zabbix_agent zabbix-test-agent2-via-proxy1a-p "Test agent2 proxy1a-p" passive "" "" "Zabbix proxy1a" +# - Passive Agent - Encrypted +test_zabbix_agent zabbix-test-agent-via-proxy1a-pe "Test agent proxy1a-pe" passive "agentproxy1a-pe" "01234567890abcdef01234567890abcdef" "Zabbix proxy1a" +test_zabbix_agent zabbix-test-agent2-via-proxy1a-pe "Test agent2 proxy1a-pe" passive "agent2proxy1a-pe" "01234567890abcdef01234567890abcdef" "Zabbix proxy1a" + +# Active Proxy - Encrypted +# - Active Agent - Not Encrypted +test_zabbix_agent zabbix-test-agent-via-proxy2ae-a "Test agent proxy2ae-a" active "" "" "Zabbix proxy2ae" +test_zabbix_agent zabbix-test-agent2-via-proxy2ae-a "Test agent2 proxy2ae-a" active "" "" "Zabbix proxy2ae" +# - Active Agent - Encrypted +test_zabbix_agent zabbix-test-agent-via-proxy2ae-ae "Test agent proxy2ae-ae" active "agentproxy2ae-ae" "01234567890abcdef01234567890abcdef" "Zabbix proxy2ae" +test_zabbix_agent zabbix-test-agent2-via-proxy2ae-ae "Test agent2 proxy2ae-ae" active "agent2proxy2ae-ae" "01234567890abcdef01234567890abcdef" "Zabbix proxy2ae" +# - Passive Agent - Not Encrypted +test_zabbix_agent zabbix-test-agent-via-proxy2ae-p "Test agent proxy2ae-p" passive "" "" "Zabbix proxy2ae" +test_zabbix_agent zabbix-test-agent2-via-proxy2ae-p "Test agent2 proxy2ae-p" passive "" "" "Zabbix proxy2ae" +# - Passive Agent - Encrypted +test_zabbix_agent zabbix-test-agent-via-proxy2ae-pe "Test agent proxy2ae-pe" passive "agentproxy2ae-pe" "01234567890abcdef01234567890abcdef" "Zabbix proxy2ae" +test_zabbix_agent zabbix-test-agent2-via-proxy2ae-pe "Test agent2 proxy2ae-pe" passive "agent2proxy2ae-pe" "01234567890abcdef01234567890abcdef" "Zabbix proxy2ae" + +# # PASSIVE PROXY + +# Passive Proxy - Not Encrypted +# - Active Agent - Not Encrypted +test_zabbix_agent zabbix-test-agent-via-proxy3p-a "Test agent proxy3p-a" active "" "" "Zabbix proxy3p" +test_zabbix_agent zabbix-test-agent2-via-proxy3p-a "Test agent2 proxy3p-a" active "" "" "Zabbix proxy3p" +# - Active Agent - Encrypted +test_zabbix_agent zabbix-test-agent-via-proxy3p-ae "Test agent proxy3p-ae" active "agentproxy3p-ae" "01234567890abcdef01234567890abcdef" "Zabbix proxy3p" +test_zabbix_agent zabbix-test-agent2-via-proxy3p-ae "Test agent2 proxy3p-ae" active "agent2proxy3p-ae" "01234567890abcdef01234567890abcdef" "Zabbix proxy3p" +# - Passive Agent - Not Encrypted +test_zabbix_agent zabbix-test-agent-via-proxy3p-p "Test agent proxy3p-p" passive "" "" "Zabbix proxy3p" +test_zabbix_agent zabbix-test-agent2-via-proxy3p-p "Test agent2 proxy3p-p" passive "" "" "Zabbix proxy3p" +# - Passive Agent - Encrypted +test_zabbix_agent zabbix-test-agent-via-proxy3p-pe "Test agent proxy3p-pe" passive "agentproxy3p-pe" "01234567890abcdef01234567890abcdef" "Zabbix proxy3p" +test_zabbix_agent zabbix-test-agent2-via-proxy3p-pe "Test agent2 proxy3p-pe" passive "agent2proxy3p-pe" "01234567890abcdef01234567890abcdef" "Zabbix proxy3p" + +# Passive Proxy - Encrypted +# - Active Agent - Not Encrypted +test_zabbix_agent zabbix-test-agent-via-proxy4pe-a "Test agent proxy4pe-a" active "" "" "Zabbix proxy4pe" +test_zabbix_agent zabbix-test-agent2-via-proxy4pe-a "Test agent2 proxy4pe-a" active "" "" "Zabbix proxy4pe" +# - Active Agent - Encrypted +test_zabbix_agent zabbix-test-agent-via-proxy4pe-ae "Test agent proxy4pe-ae" active "agentproxy4pe-ae" "01234567890abcdef01234567890abcdef" "Zabbix proxy4pe" +test_zabbix_agent zabbix-test-agent2-via-proxy4pe-ae "Test agent2 proxy4pe-ae" active "agent2proxy4pe-ae" "01234567890abcdef01234567890abcdef" "Zabbix proxy4pe" +# - Passive Agent - Not Encrypted +test_zabbix_agent zabbix-test-agent-via-proxy4pe-p "Test agent proxy4pe-p" passive "" "" "Zabbix proxy4pe" +test_zabbix_agent zabbix-test-agent2-via-proxy4pe-p "Test agent2 proxy4pe-p" passive "" "" "Zabbix proxy4pe" +# - Passive Agent - Encrypted +test_zabbix_agent zabbix-test-agent-via-proxy4pe-pe "Test agent proxy4pe-pe" passive "agentproxy4pe-pe" "01234567890abcdef01234567890abcdef" "Zabbix proxy4pe" +test_zabbix_agent zabbix-test-agent2-via-proxy4pe-pe "Test agent2 proxy4pe-pe" passive "agent2proxy4pe-pe" "01234567890abcdef01234567890abcdef" "Zabbix proxy4pe" + + + +fdc_test_pass zabbix-frontend "Zabbix frontend tests passed" -- GitLab From 233927dade301b8da3875c501ebb4104c83c1815 Mon Sep 17 00:00:00 2001 From: Nigel Kukard <nkukard@lbsd.net> Date: Sun, 28 Jul 2024 13:25:18 +0000 Subject: [PATCH 07/16] chore: updated to version 7.0.1 --- Dockerfile | 3 +-- patches/fix-msghdr.patch | 40 ---------------------------------------- 2 files changed, 1 insertion(+), 42 deletions(-) delete mode 100644 patches/fix-msghdr.patch diff --git a/Dockerfile b/Dockerfile index e12dc8b..0d2a82c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -25,7 +25,7 @@ FROM registry.conarx.tech/containers/nginx-php/edge as builder # UPDATE timescaledb version in tests/docker-compose.yml.timescaledb.tmpl to the max supported version # ref https://hub.docker.com/repository/docker/allworldit/postgresql-timescaledb/tags?page=1&ordering=last_updated # ref https://github.com/zabbix/zabbix/blob/6e6aa6c5a866e56648410275a936959a5100712c/include/zbx_dbversion_constants.h#L62 -ENV ZABBIX_VER=7.0.0 +ENV ZABBIX_VER=7.0.1 COPY patches /build/patches @@ -71,7 +71,6 @@ RUN set -eux; \ patch -p1 < ../patches/zabbix-disable-chrome-sandboxing.patch; \ patch -p1 < ../patches/zabbix-6.4.4_cgoflags-append-fix.patch; \ # Alpine patches - patch -p1 < ../patches/fix-msghdr.patch; \ patch -p1 < ../patches/ui-services-fix-php-80.patch; \ true "Configuring"; \ autoreconf -fvi; \ diff --git a/patches/fix-msghdr.patch b/patches/fix-msghdr.patch deleted file mode 100644 index 699d745..0000000 --- a/patches/fix-msghdr.patch +++ /dev/null @@ -1,40 +0,0 @@ -musl has padding on struct msghdr fields so the designated initialiser fails with int-conversion: - -src/libs/zbxsysinfo/linux/net.c:115:95: error: initialization of 'int' from 'void *' makes integer from pointer without a cast [-Werror=int-conversion] - 115 | struct msghdr s_msg = { (void *)&s_sa, sizeof(struct sockaddr_nl), s_io, 1, NULL, 0, 0}; - -this is because the assignment becomes to padding, and the resulting struct is broken -diff --git a/src/libs/zbxsysinfo/linux/net.c b/src/libs/zbxsysinfo/linux/net.c -index 4b0a634..1ccc2c4 100644 ---- a/src/libs/zbxsysinfo/linux/net.c -+++ b/src/libs/zbxsysinfo/linux/net.c -@@ -112,13 +112,27 @@ static int find_tcp_port_by_state_nl(unsigned short port, int state, int *found) - - struct sockaddr_nl s_sa = { AF_NETLINK, 0, 0, 0 }; - struct iovec s_io[1] = { { &request, sizeof(request) } }; -- struct msghdr s_msg = { (void *)&s_sa, sizeof(struct sockaddr_nl), s_io, 1, NULL, 0, 0}; -+ struct msghdr s_msg; -+ s_msg.msg_name = (void *)&s_sa; -+ s_msg.msg_namelen = sizeof(struct sockaddr_nl); -+ s_msg.msg_iov = s_io; -+ s_msg.msg_iovlen = 1; -+ s_msg.msg_control = NULL; -+ s_msg.msg_controllen = 0; -+ s_msg.msg_flags = 0; - - char buffer[BUFSIZ] = { 0 }; - - struct sockaddr_nl r_sa = { AF_NETLINK, 0, 0, 0 }; - struct iovec r_io[1] = { { buffer, BUFSIZ } }; -- struct msghdr r_msg = { (void *)&r_sa, sizeof(struct sockaddr_nl), r_io, 1, NULL, 0, 0}; -+ struct msghdr r_msg; -+ r_msg.msg_name = (void *)&r_sa; -+ r_msg.msg_namelen = sizeof(struct sockaddr_nl); -+ r_msg.msg_iov = r_io; -+ r_msg.msg_iovlen = 1; -+ r_msg.msg_control = NULL; -+ r_msg.msg_controllen = 0; -+ r_msg.msg_flags = 0; - - struct nlmsghdr *r_hdr; - -- GitLab From 6ea45c29cf893da4b41be3566b145a5948aa479c Mon Sep 17 00:00:00 2001 From: Nigel Kukard <nkukard@lbsd.net> Date: Sat, 3 Aug 2024 21:41:07 +0000 Subject: [PATCH 08/16] chore: updated to version 7.0.2 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 0d2a82c..79b9b61 100644 --- a/Dockerfile +++ b/Dockerfile @@ -25,7 +25,7 @@ FROM registry.conarx.tech/containers/nginx-php/edge as builder # UPDATE timescaledb version in tests/docker-compose.yml.timescaledb.tmpl to the max supported version # ref https://hub.docker.com/repository/docker/allworldit/postgresql-timescaledb/tags?page=1&ordering=last_updated # ref https://github.com/zabbix/zabbix/blob/6e6aa6c5a866e56648410275a936959a5100712c/include/zbx_dbversion_constants.h#L62 -ENV ZABBIX_VER=7.0.1 +ENV ZABBIX_VER=7.0.2 COPY patches /build/patches -- GitLab From 387787fec5549cadeac9578b57128e866eb59830 Mon Sep 17 00:00:00 2001 From: Nigel Kukard <nkukard@lbsd.net> Date: Mon, 26 Aug 2024 10:57:52 +0000 Subject: [PATCH 09/16] chore: updated to version 7.0.3 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 79b9b61..1324ab0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -25,7 +25,7 @@ FROM registry.conarx.tech/containers/nginx-php/edge as builder # UPDATE timescaledb version in tests/docker-compose.yml.timescaledb.tmpl to the max supported version # ref https://hub.docker.com/repository/docker/allworldit/postgresql-timescaledb/tags?page=1&ordering=last_updated # ref https://github.com/zabbix/zabbix/blob/6e6aa6c5a866e56648410275a936959a5100712c/include/zbx_dbversion_constants.h#L62 -ENV ZABBIX_VER=7.0.2 +ENV ZABBIX_VER=7.0.3 COPY patches /build/patches -- GitLab From 0470b31d4620ca6324f6dfbe2a9b2f46b98375cf Mon Sep 17 00:00:00 2001 From: Nigel Kukard <nkukard@lbsd.net> Date: Thu, 26 Sep 2024 17:40:15 +0000 Subject: [PATCH 10/16] chore: updated to version 7.0.4 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 1324ab0..377aaeb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -25,7 +25,7 @@ FROM registry.conarx.tech/containers/nginx-php/edge as builder # UPDATE timescaledb version in tests/docker-compose.yml.timescaledb.tmpl to the max supported version # ref https://hub.docker.com/repository/docker/allworldit/postgresql-timescaledb/tags?page=1&ordering=last_updated # ref https://github.com/zabbix/zabbix/blob/6e6aa6c5a866e56648410275a936959a5100712c/include/zbx_dbversion_constants.h#L62 -ENV ZABBIX_VER=7.0.3 +ENV ZABBIX_VER=7.0.4 COPY patches /build/patches -- GitLab From 44cd2b58f6abc526a9c358f03f2b2a6c75956b0c Mon Sep 17 00:00:00 2001 From: Nigel Kukard <nkukard@lbsd.net> Date: Thu, 24 Oct 2024 22:00:58 +0000 Subject: [PATCH 11/16] chore: updated to version 7.0.5 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 377aaeb..a28c67c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -25,7 +25,7 @@ FROM registry.conarx.tech/containers/nginx-php/edge as builder # UPDATE timescaledb version in tests/docker-compose.yml.timescaledb.tmpl to the max supported version # ref https://hub.docker.com/repository/docker/allworldit/postgresql-timescaledb/tags?page=1&ordering=last_updated # ref https://github.com/zabbix/zabbix/blob/6e6aa6c5a866e56648410275a936959a5100712c/include/zbx_dbversion_constants.h#L62 -ENV ZABBIX_VER=7.0.4 +ENV ZABBIX_VER=7.0.5 COPY patches /build/patches -- GitLab From f4cb1fc31e48b96213d4b5bed8780b74afcbcc9c Mon Sep 17 00:00:00 2001 From: Nigel Kukard <nkukard@lbsd.net> Date: Sun, 1 Dec 2024 16:30:56 +0000 Subject: [PATCH 12/16] chore: updated to version 7.0.6 --- Dockerfile | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index a28c67c..e08de3c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -25,7 +25,7 @@ FROM registry.conarx.tech/containers/nginx-php/edge as builder # UPDATE timescaledb version in tests/docker-compose.yml.timescaledb.tmpl to the max supported version # ref https://hub.docker.com/repository/docker/allworldit/postgresql-timescaledb/tags?page=1&ordering=last_updated # ref https://github.com/zabbix/zabbix/blob/6e6aa6c5a866e56648410275a936959a5100712c/include/zbx_dbversion_constants.h#L62 -ENV ZABBIX_VER=7.0.5 +ENV ZABBIX_VER=7.0.6 COPY patches /build/patches @@ -60,7 +60,7 @@ RUN set -eux; \ RUN set -eux; \ mkdir -p build; \ cd build; \ - wget "https://github.com/zabbix/zabbix/archive/${ZABBIX_VER}.tar.gz" -O "zabbix-server-${ZABBIX_VER}.tar.gz"; \ + wget "https://cdn.zabbix.com/zabbix/sources/stable/${ZABBIX_VER%.*}/zabbix-${ZABBIX_VER}.tar.gz" -O "zabbix-server-${ZABBIX_VER}.tar.gz"; \ tar -zxvf "zabbix-server-${ZABBIX_VER}.tar.gz" # Download and build @@ -108,7 +108,6 @@ RUN set -eux; \ ./configure $_configure_flags --enable-server "--with-$db"; \ make clean; \ make $MAKEFLAGS; \ - make dbschema; \ mv src/zabbix_server/zabbix_server "src/zabbix_server/zabbix_server_$db"; \ mkdir -p "../schema/zabbix-server"; \ cp -r "database/$db" "../schema/zabbix-server/$db"; \ @@ -119,7 +118,6 @@ RUN set -eux; \ ./configure $_configure_flags --enable-proxy "--with-$db"; \ make clean; \ make $MAKEFLAGS; \ - make dbschema; \ mv src/zabbix_proxy/zabbix_proxy "src/zabbix_proxy/zabbix_proxy_$db"; \ mkdir -p "../schema/zabbix-proxy"; \ cp -r "database/$db" "../schema/zabbix-proxy/$db"; \ -- GitLab From 23cec8baa5d1be26f26a08c36d52a4c1172dd5da Mon Sep 17 00:00:00 2001 From: Nigel Kukard <nkukard@lbsd.net> Date: Sun, 22 Dec 2024 05:08:00 +0000 Subject: [PATCH 13/16] chore: updated to version 7.2.1 --- Dockerfile | 4 ++-- tests/docker-compose.yml.timescaledb.tmpl | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index e08de3c..23e61f3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,8 +24,8 @@ FROM registry.conarx.tech/containers/nginx-php/edge as builder # UPDATE timescaledb version in tests/docker-compose.yml.timescaledb.tmpl to the max supported version # ref https://hub.docker.com/repository/docker/allworldit/postgresql-timescaledb/tags?page=1&ordering=last_updated -# ref https://github.com/zabbix/zabbix/blob/6e6aa6c5a866e56648410275a936959a5100712c/include/zbx_dbversion_constants.h#L62 -ENV ZABBIX_VER=7.0.6 +# ref https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/include/zbx_dbversion_constants.h?at=refs%2Ftags%2F7.2.1 +ENV ZABBIX_VER=7.2.1 COPY patches /build/patches diff --git a/tests/docker-compose.yml.timescaledb.tmpl b/tests/docker-compose.yml.timescaledb.tmpl index 7eecc90..aca3ae8 100644 --- a/tests/docker-compose.yml.timescaledb.tmpl +++ b/tests/docker-compose.yml.timescaledb.tmpl @@ -567,7 +567,7 @@ services: # MAIN ZABBIX DATABASE SERVER postgresql-server: - image: registry.conarx.tech/containers/postgresql-timescaledb/3.19:pg16-2.14.2 + image: registry.conarx.tech/containers/postgresql-timescaledb/3.20:pg17-2.17.2 environment: - POSTGRES_USER=zabbix - POSTGRES_PASSWORD=zabbix -- GitLab From 52362e2174593232b1e309abc00307759ad9a8fc Mon Sep 17 00:00:00 2001 From: Nigel Kukard <nkukard@lbsd.net> Date: Tue, 7 Jan 2025 21:57:55 +0000 Subject: [PATCH 14/16] chore: updated copyright to 2025 --- Dockerfile | 2 +- contrib/docker-compose.yml | 2 +- docker_release_version.sh | 2 +- etc/nginx/http.d/50_vhost_default.conf.template | 2 +- etc/nginx/http.d/55_vhost_default-ssl-certbot.conf.template | 2 +- tests/docker-compose.yml.mysql.tmpl | 2 +- tests/docker-compose.yml.postgresql.tmpl | 2 +- tests/docker-compose.yml.timescaledb.tmpl | 2 +- tests/run-cluster-test | 2 +- .../flexible-docker-containers/healthcheck.d/48-zabbix-agent.sh | 2 +- .../healthcheck.d/48-zabbix-agent2.sh | 2 +- .../flexible-docker-containers/healthcheck.d/48-zabbix-proxy.sh | 2 +- .../healthcheck.d/48-zabbix-server.sh | 2 +- .../healthcheck.d/48-zabbix-webservice.sh | 2 +- usr/local/share/flexible-docker-containers/init.d/48-zabbix.sh | 2 +- .../flexible-docker-containers/pre-exec-tests.d/48-zabbix.sh | 2 +- .../flexible-docker-containers/pre-init-tests.d/48-zabbix.sh | 2 +- .../share/flexible-docker-containers/pre-init.d/48-zabbix.sh | 2 +- .../share/flexible-docker-containers/tests.d/48-zabbix-agent.sh | 2 +- .../flexible-docker-containers/tests.d/48-zabbix-agent2.sh | 2 +- .../flexible-docker-containers/tests.d/48-zabbix-frontend.sh | 2 +- .../share/flexible-docker-containers/tests.d/48-zabbix-proxy.sh | 2 +- .../flexible-docker-containers/tests.d/48-zabbix-server.sh | 2 +- .../flexible-docker-containers/tests.d/48-zabbix-webservice.sh | 2 +- usr/local/share/flexible-docker-containers/tests.d/99-zabbix.sh | 2 +- 25 files changed, 25 insertions(+), 25 deletions(-) diff --git a/Dockerfile b/Dockerfile index 23e61f3..eadd633 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -# Copyright (c) 2022-2023, AllWorldIT. +# Copyright (c) 2022-2025, AllWorldIT. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to diff --git a/contrib/docker-compose.yml b/contrib/docker-compose.yml index d69bccd..7226970 100644 --- a/contrib/docker-compose.yml +++ b/contrib/docker-compose.yml @@ -1,4 +1,4 @@ -# Copyright (c) 2022-2023, AllWorldIT. +# Copyright (c) 2022-2025, AllWorldIT. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to diff --git a/docker_release_version.sh b/docker_release_version.sh index 7bbeed4..464b1a7 100644 --- a/docker_release_version.sh +++ b/docker_release_version.sh @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright (c) 2022-2023, AllWorldIT. +# Copyright (c) 2022-2025, AllWorldIT. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to diff --git a/etc/nginx/http.d/50_vhost_default.conf.template b/etc/nginx/http.d/50_vhost_default.conf.template index d9725a7..368e092 100644 --- a/etc/nginx/http.d/50_vhost_default.conf.template +++ b/etc/nginx/http.d/50_vhost_default.conf.template @@ -1,4 +1,4 @@ -# Copyright (c) 2022-2023, AllWorldIT. +# Copyright (c) 2022-2025, AllWorldIT. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to diff --git a/etc/nginx/http.d/55_vhost_default-ssl-certbot.conf.template b/etc/nginx/http.d/55_vhost_default-ssl-certbot.conf.template index 7427f3a..292c556 100644 --- a/etc/nginx/http.d/55_vhost_default-ssl-certbot.conf.template +++ b/etc/nginx/http.d/55_vhost_default-ssl-certbot.conf.template @@ -1,4 +1,4 @@ -# Copyright (c) 2022-2023, AllWorldIT. +# Copyright (c) 2022-2025, AllWorldIT. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to diff --git a/tests/docker-compose.yml.mysql.tmpl b/tests/docker-compose.yml.mysql.tmpl index e5bf7a2..0187fc6 100644 --- a/tests/docker-compose.yml.mysql.tmpl +++ b/tests/docker-compose.yml.mysql.tmpl @@ -1,4 +1,4 @@ -# Copyright (c) 2022-2023, AllWorldIT. +# Copyright (c) 2022-2025, AllWorldIT. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to diff --git a/tests/docker-compose.yml.postgresql.tmpl b/tests/docker-compose.yml.postgresql.tmpl index b1d7d33..e2a24e1 100644 --- a/tests/docker-compose.yml.postgresql.tmpl +++ b/tests/docker-compose.yml.postgresql.tmpl @@ -1,4 +1,4 @@ -# Copyright (c) 2022-2023, AllWorldIT. +# Copyright (c) 2022-2025, AllWorldIT. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to diff --git a/tests/docker-compose.yml.timescaledb.tmpl b/tests/docker-compose.yml.timescaledb.tmpl index aca3ae8..7f91cfb 100644 --- a/tests/docker-compose.yml.timescaledb.tmpl +++ b/tests/docker-compose.yml.timescaledb.tmpl @@ -1,4 +1,4 @@ -# Copyright (c) 2022-2023, AllWorldIT. +# Copyright (c) 2022-2025, AllWorldIT. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to diff --git a/tests/run-cluster-test b/tests/run-cluster-test index 47ce5f6..267c9a4 100755 --- a/tests/run-cluster-test +++ b/tests/run-cluster-test @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright (c) 2022-2023, AllWorldIT. +# Copyright (c) 2022-2025, AllWorldIT. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to diff --git a/usr/local/share/flexible-docker-containers/healthcheck.d/48-zabbix-agent.sh b/usr/local/share/flexible-docker-containers/healthcheck.d/48-zabbix-agent.sh index 4e15950..114ab8a 100644 --- a/usr/local/share/flexible-docker-containers/healthcheck.d/48-zabbix-agent.sh +++ b/usr/local/share/flexible-docker-containers/healthcheck.d/48-zabbix-agent.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright (c) 2022-2023, AllWorldIT. +# Copyright (c) 2022-2025, AllWorldIT. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to diff --git a/usr/local/share/flexible-docker-containers/healthcheck.d/48-zabbix-agent2.sh b/usr/local/share/flexible-docker-containers/healthcheck.d/48-zabbix-agent2.sh index 2137209..a2be4b6 100644 --- a/usr/local/share/flexible-docker-containers/healthcheck.d/48-zabbix-agent2.sh +++ b/usr/local/share/flexible-docker-containers/healthcheck.d/48-zabbix-agent2.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright (c) 2022-2023, AllWorldIT. +# Copyright (c) 2022-2025, AllWorldIT. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to diff --git a/usr/local/share/flexible-docker-containers/healthcheck.d/48-zabbix-proxy.sh b/usr/local/share/flexible-docker-containers/healthcheck.d/48-zabbix-proxy.sh index d5bfd87..4239b7f 100644 --- a/usr/local/share/flexible-docker-containers/healthcheck.d/48-zabbix-proxy.sh +++ b/usr/local/share/flexible-docker-containers/healthcheck.d/48-zabbix-proxy.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright (c) 2022-2023, AllWorldIT. +# Copyright (c) 2022-2025, AllWorldIT. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to diff --git a/usr/local/share/flexible-docker-containers/healthcheck.d/48-zabbix-server.sh b/usr/local/share/flexible-docker-containers/healthcheck.d/48-zabbix-server.sh index 1e5dcb5..318730a 100644 --- a/usr/local/share/flexible-docker-containers/healthcheck.d/48-zabbix-server.sh +++ b/usr/local/share/flexible-docker-containers/healthcheck.d/48-zabbix-server.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright (c) 2022-2023, AllWorldIT. +# Copyright (c) 2022-2025, AllWorldIT. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to diff --git a/usr/local/share/flexible-docker-containers/healthcheck.d/48-zabbix-webservice.sh b/usr/local/share/flexible-docker-containers/healthcheck.d/48-zabbix-webservice.sh index b6763c7..30ea59f 100644 --- a/usr/local/share/flexible-docker-containers/healthcheck.d/48-zabbix-webservice.sh +++ b/usr/local/share/flexible-docker-containers/healthcheck.d/48-zabbix-webservice.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright (c) 2022-2023, AllWorldIT. +# Copyright (c) 2022-2025, AllWorldIT. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to diff --git a/usr/local/share/flexible-docker-containers/init.d/48-zabbix.sh b/usr/local/share/flexible-docker-containers/init.d/48-zabbix.sh index b3b4c57..8550794 100755 --- a/usr/local/share/flexible-docker-containers/init.d/48-zabbix.sh +++ b/usr/local/share/flexible-docker-containers/init.d/48-zabbix.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright (c) 2022-2023, AllWorldIT. +# Copyright (c) 2022-2025, AllWorldIT. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to diff --git a/usr/local/share/flexible-docker-containers/pre-exec-tests.d/48-zabbix.sh b/usr/local/share/flexible-docker-containers/pre-exec-tests.d/48-zabbix.sh index cffe781..55eb4d9 100644 --- a/usr/local/share/flexible-docker-containers/pre-exec-tests.d/48-zabbix.sh +++ b/usr/local/share/flexible-docker-containers/pre-exec-tests.d/48-zabbix.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright (c) 2022-2023, AllWorldIT. +# Copyright (c) 2022-2025, AllWorldIT. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to diff --git a/usr/local/share/flexible-docker-containers/pre-init-tests.d/48-zabbix.sh b/usr/local/share/flexible-docker-containers/pre-init-tests.d/48-zabbix.sh index 5ce6f92..4175607 100644 --- a/usr/local/share/flexible-docker-containers/pre-init-tests.d/48-zabbix.sh +++ b/usr/local/share/flexible-docker-containers/pre-init-tests.d/48-zabbix.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright (c) 2022-2023, AllWorldIT. +# Copyright (c) 2022-2025, AllWorldIT. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to diff --git a/usr/local/share/flexible-docker-containers/pre-init.d/48-zabbix.sh b/usr/local/share/flexible-docker-containers/pre-init.d/48-zabbix.sh index 95b96da..b2c7c1a 100755 --- a/usr/local/share/flexible-docker-containers/pre-init.d/48-zabbix.sh +++ b/usr/local/share/flexible-docker-containers/pre-init.d/48-zabbix.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright (c) 2022-2023, AllWorldIT. +# Copyright (c) 2022-2025, AllWorldIT. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to diff --git a/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-agent.sh b/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-agent.sh index 7939aff..f62da7f 100644 --- a/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-agent.sh +++ b/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-agent.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright (c) 2022-2023, AllWorldIT. +# Copyright (c) 2022-2025, AllWorldIT. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to diff --git a/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-agent2.sh b/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-agent2.sh index 0aae3ac..b06acfe 100644 --- a/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-agent2.sh +++ b/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-agent2.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright (c) 2022-2023, AllWorldIT. +# Copyright (c) 2022-2025, AllWorldIT. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to diff --git a/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-frontend.sh b/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-frontend.sh index d4d3e4c..8f8f357 100644 --- a/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-frontend.sh +++ b/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-frontend.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright (c) 2022-2023, AllWorldIT. +# Copyright (c) 2022-2025, AllWorldIT. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to diff --git a/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-proxy.sh b/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-proxy.sh index 38a1695..00dd822 100644 --- a/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-proxy.sh +++ b/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-proxy.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright (c) 2022-2023, AllWorldIT. +# Copyright (c) 2022-2025, AllWorldIT. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to diff --git a/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-server.sh b/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-server.sh index 6a80a64..0690ea6 100644 --- a/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-server.sh +++ b/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-server.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright (c) 2022-2023, AllWorldIT. +# Copyright (c) 2022-2025, AllWorldIT. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to diff --git a/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-webservice.sh b/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-webservice.sh index c8fed98..8f74f51 100644 --- a/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-webservice.sh +++ b/usr/local/share/flexible-docker-containers/tests.d/48-zabbix-webservice.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright (c) 2022-2023, AllWorldIT. +# Copyright (c) 2022-2025, AllWorldIT. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to diff --git a/usr/local/share/flexible-docker-containers/tests.d/99-zabbix.sh b/usr/local/share/flexible-docker-containers/tests.d/99-zabbix.sh index 696c6fb..79ca447 100644 --- a/usr/local/share/flexible-docker-containers/tests.d/99-zabbix.sh +++ b/usr/local/share/flexible-docker-containers/tests.d/99-zabbix.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright (c) 2022-2023, AllWorldIT. +# Copyright (c) 2022-2025, AllWorldIT. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to -- GitLab From e3c234187a83670e91141429c4ed557e0187e41a Mon Sep 17 00:00:00 2001 From: Nigel Kukard <nkukard@lbsd.net> Date: Tue, 7 Jan 2025 21:58:21 +0000 Subject: [PATCH 15/16] fix: fixed LABEL syntax --- Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index eadd633..50cf01d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -318,9 +318,9 @@ FROM registry.conarx.tech/containers/nginx-php/edge ARG VERSION_INFO= -LABEL org.opencontainers.image.authors "Nigel Kukard <nkukard@conarx.tech>" -LABEL org.opencontainers.image.version "edge" -LABEL org.opencontainers.image.base.name "registry.conarx.tech/containers/nginx-php/edge" +LABEL org.opencontainers.image.authors = "Nigel Kukard <nkukard@conarx.tech>" +LABEL org.opencontainers.image.version = "edge" +LABEL org.opencontainers.image.base.name = "registry.conarx.tech/containers/nginx-php/edge" # Copy in built binaries -- GitLab From dfbe6feeeb6fdf34fe48d5db38b3a840f03925b0 Mon Sep 17 00:00:00 2001 From: Nigel Kukard <nkukard@lbsd.net> Date: Wed, 8 Jan 2025 00:37:05 +0000 Subject: [PATCH 16/16] chore: updated to Alpine 3.21 --- Dockerfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index d6198c2..dcbbc61 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,7 +19,7 @@ # IN THE SOFTWARE. -FROM registry.conarx.tech/containers/nginx-php/3.20 as builder +FROM registry.conarx.tech/containers/nginx-php/3.21 as builder # UPDATE timescaledb version in tests/docker-compose.yml.timescaledb.tmpl to the max supported version @@ -314,13 +314,13 @@ RUN set -eux; \ -FROM registry.conarx.tech/containers/nginx-php/3.20 +FROM registry.conarx.tech/containers/nginx-php/3.21 ARG VERSION_INFO= LABEL org.opencontainers.image.authors = "Nigel Kukard <nkukard@conarx.tech>" -LABEL org.opencontainers.image.version = "3.20" -LABEL org.opencontainers.image.base.name = "registry.conarx.tech/containers/nginx-php/3.20" +LABEL org.opencontainers.image.version = "3.21" +LABEL org.opencontainers.image.base.name = "registry.conarx.tech/containers/nginx-php/3.21" # Copy in built binaries -- GitLab