Files
orrisroot 9853a155cf
Validate / lint (push) Successful in 8s
Validate / import-test (Zabbix 7.0) (push) Successful in 51s
Validate / import-test (Zabbix 8.0) (push) Successful in 37s
chore: follow Zabbix 8.0 LTS GA release
Re-validate the 8.0 export against the Zabbix 8.0.0 release and drop
references to the development build.

- Import the 8.0 export into Zabbix 8.0.0 and link it to a test host.
- Mark 8.0 LTS as supported in the README and version policy.
- Remove the alpine-trunk fallback note now that 8.0 images exist.
- Run the CI import test as a 7.0/8.0 matrix with distinct project
  names and host ports so parallel jobs do not collide.
2026-11-06 16:17:32 +09:00

78 lines
2.5 KiB
Markdown

# Zabbix Version Policy
## Current Support
| Zabbix | Status | Directory |
|---|---|---|
| 7.0 LTS | Primary | `7.0/` |
| 8.0 LTS | Supported (tested with 8.0.0) | `8.0/` |
The `8.0/` export was imported into Zabbix 8.0.0 and linked to a test host.
## 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:
```bash
ZBX_SERVER_IMAGE=alpine-8.0-latest \
ZBX_WEB_IMAGE=alpine-8.0-latest \
ZBX_TEST_PROJECT=zabbix-templates-test-8 \
make import-test
```
## 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.
```bash
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.