Skip to content

Conversation

@danielfdickinson
Copy link
Contributor

@danielfdickinson danielfdickinson commented Jan 2, 2026

📦 Package Details

Maintainer: @danielfdickinson

Description:

This changeset will likely need discussion, so creating this draft PR as a Request for Comments.

The first two commits are from #28041 , which is not yet merged.

The third commit is just a simple version bump.

The fourth commit is where the action is (EDIT: and is now v3 of the refactor)

We enable a number of previously disabled features, and in order to
avoid an explosion of 'flavours' of Zabbix, we refactor the packaging
as follows:

  1. There are a total of four variants: tiny, small, ssl, and full
  2. agentd, sender, get, and proxy all have a tiny flavour
  3. agentd, sender, get, proxy, and server all have an ssl flavour
  4. proxy and server have a 'small' flavour
  5. agentd, server and frontend have full flavours
  6. For the frontend there are two flavours: plain and extra-auth

All tiny variants omit SSL and have only the base functionality for
the binary. In addition the proxy tiny variant is built against SQLite
as the database.

Small version also omit SSH and only have base functionality for the
binary, but use PostgreSQL or MariaDB for the database.

SSL flavour of OpenSSL vs. GnuTLS is now a configuration option, with
OpenSSL as the default.

When building against GnuTLS the agentd and server full versions have
the following notes:

  1. Net-SNMP uses the nossl versions
  2. cURL functionality is provided by libcurl-gnutls

The full server version uses OpenSSL version of Net-SNMP and the
default SSL backend for cURL on OpenWrt.

Both SSL versions use OpenLDAP from OpenWrt.

Default database for the servers and frontends remains PostgresQL.

The 'extra-auth' frontend has the PHP modules necessary to do LDAP as
well as SAML and MFA.


🧪 Run Testing Details

Only compile-tested so far - this is an RFC, not for merging, yet.

  • OpenWrt Version: SNAPSHOT
  • OpenWrt Target/Subtarget: bcm27xx/bcm2712
  • OpenWrt Device: rpi-5

✅ Formalities

  • I have reviewed the CONTRIBUTING.md file for detailed contributing guidelines.

@danielfdickinson
Copy link
Contributor Author

danielfdickinson commented Jan 2, 2026

Now reworking to reduce the number of variants (compiles) but keeping the same 'flavours'.

EDIT: Done

@danielfdickinson danielfdickinson force-pushed the zabbix-enhancements branch 2 times, most recently from aacc269 to 827881f Compare January 2, 2026 04:57
Addresses the issue pointed out in openwrt#28165, which is that zabbix_agentd
always creates a PidFile and has no option to disable PidFile creation.
Therefore update the configuration file to default to create a PidFile
where we want it.

Close openwrt#28165

Signed-off-by: Daniel F. Dickinson <dfdpublic@wildtechgarden.ca>
Adds an initscript for zabbix_server, and related helper files

+ uses a zabbix_server uci conf to enable/disable startup
+ updates the default zabbix_server.conf to work with initscript
+ add a sysctl.d conf to set max-files more appropriate for zabbix_server

Signed-off-by: Daniel F. Dickinson <dfdpublic@wildtechgarden.ca>
Bump Zabbix to the latest released 7.0.x LTS version.

Signed-off-by: Daniel F. Dickinson <dfdpublic@wildtechgarden.ca>
We enable a number of previously disabled features, and in order to
avoid an explosion of 'flavours' of Zabbix, we refactor the packaging
as follows:

1. There are a total of four variants: tiny, small, ssl, and full
2. agentd, sender, get, and proxy all have a tiny flavour
3. agentd, sender, get, proxy, and server all have an ssl flavour
4. proxy and server have a 'small' flavour
5. agentd, server and frontend have full flavours
6. For the frontend there are two flavours: plain and extra-auth

All tiny variants omit SSL and have only the base functionality for
the binary. In addition the proxy tiny variant is built against SQLite
as the database.

Small version also omit SSH and only have base functionality for the
binary, but use PostgreSQL or MariaDB for the database.

SSL flavour of OpenSSL vs. GnuTLS is now a configuration option, with
OpenSSL as the default.

When building against GnuTLS the agentd and server full versions have
the following notes:

1. Net-SNMP uses the nossl versions
2. cURL functionality is provided by libcurl-gnutls

The full server version uses OpenSSL version of Net-SNMP and the
default SSL backend for cURL on OpenWrt.

Both SSL versions use OpenLDAP from OpenWrt.

Default database for the servers and frontends remains PostgresQL.

The 'extra-auth' frontend has the PHP modules necessary to do LDAP as
well as SAML and MFA.

Signed-off-by: Daniel F. Dickinson <dfdpublic@wildtechgarden.ca>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant