Files
orrisroot a033dfa970
Validate / lint (push) Successful in 11m0s
Validate / import-test (push) Failing after 3m25s
feat: bootstrap Zabbix template repository
Set up a repository for custom Zabbix templates and add the first
template for Dell PowerVault ME storage systems.

- Add conventions, version policy, and release documentation.
- Add validation, index, packaging, export, and import-test scripts.
- Add a disposable Zabbix test stack with version-aware imports.
- Add PowerVault ME SNMP exports for Zabbix 7.0 and 8.0.
- Cover system information, unit health, sensors, ports, and
  firmware revisions.
2026-11-03 14:40:19 +09:00

2.7 KiB

Zabbix Version Policy

Current Support

Zabbix Status Directory
7.0 LTS Primary 7.0/
8.0 LTS Export added (tested with 8.0.0) 8.0/

The 8.0/ export was imported into Zabbix 8.0.0 (development build) and linked to a test host. Re-validate it after the official 8.0 GA release.

Principles

  • For each package, create only the directory for the minimum supported version.
  • A YAML export from Zabbix 7.0 can normally be imported into 7.0 and later versions.
  • Add an 8.0/ directory only when the template uses features specific to 8.0 or the 8.0 export differs from the 7.0 export.
  • If the same export also works on 8.0, keep only the existing directory and add "8.0" to zabbix.tested in manifest.yaml.

To scaffold a package that supports 8.0 only, run ZABBIX_MIN=8.0 make new ....

Adding Zabbix 8.0 LTS

The 8.0/ export is already included. The steps below describe how it was added and how to add future versions.

  1. Import the template into an 8.0 test environment.
  2. Check whether the 7.0 export still works.
  3. If it works without changes:
    • Add "8.0" to zabbix.tested in manifest.yaml.
    • Leave zabbix.max as null.
  4. If 8.0 requires changes:
    • Create templates/<category>/<product>/8.0/ and place the export from 8.0 there.
    • Document any 8.0-specific notes in README.md.
    • Leave zabbix.max as null and add "8.0" to tested.

Testing a specific version

scripts/import_test.sh detects the server version from apiinfo.version and imports only the matching version directory. Use environment variables to select the image tags:

ZBX_SERVER_IMAGE=alpine-8.0-latest \
ZBX_WEB_IMAGE=alpine-8.0-latest \
ZBX_TEST_PROJECT=zabbix-templates-test-8 \
make import-test

If the 8.0 image is not published yet, use alpine-trunk for the development build.

Choosing a Version Directory

Consumers use the newest directory that is less than or equal to their Zabbix version.

Consumer Zabbix When 7.0/ and 8.0/ exist
7.0 7.0/
7.4 7.0/
8.0 8.0/

Template Versions

The version field in manifest.yaml follows SemVer.

  • MAJOR: Template rename, macro removal, or another incompatible change
  • MINOR: New items, triggers, or LLD rules
  • PATCH: Threshold, description, or bug fixes

Git Tags

Tag each template independently.

git tag app-apache-v1.2.0
git push origin app-apache-v1.2.0

Use a collection-wide tag such as v2026.11.0 only when a repository-level release is needed.

End of Support

  • To drop 7.0 support, remove 7.0/, update zabbix.min to "8.0", and increment the MAJOR version because the change is breaking.