Skip to main content

Source control for Zabbix templates in Git

Project description

ZabbixCI cog logo

PyPI - Version GitHub Actions Workflow Status GitHub Actions Workflow Status

[!WARNING] This project is under active development, the code in the main branch should be relatively stable but things might break every now and then. The releases that can be installed with pip are currently stable enough for testing. If you run into unexpected bugs, please create an issue. For questions about usage, please start a discussion.

ZabbixCI

ZabbixCI is a tool that adds continuous integration to Zabbix, allowing you to synchronize Zabbix assets with a Git repository. By using the Zabbix API, ZabbixCI can create, update, and delete assets across multiple Zabbix servers.

[!NOTE] ZabbixCI has no affiliation with Zabbix SIA.

Features

ZabbixCI provides the following features:

  • Easily installable through pip or run it as a container image
  • Fully configurable through cli arguments, config file and/or environment variables
  • Supports HTTP(S) and SSH auth for Git
  • Export assets from Zabbix and push them to Git
  • Pull assets from Git and import them in Zabbix
  • Only changed or new assets will be processed during Git push or Zabbix import actions
  • Removes deleted assets automatically (unless black- or whitelisting is used)
  • Use dry-run to verify behavior without changes to Zabbix or Git
  • Build with parallelization in mind to speed up the process (can be scaled for your needs)
  • (Optional) Support for private CA servers to verify certificates
  • (Optional) Allow black-/whitelisting of assets (supports regexp)
  • (Optional) Use separate branches for push and pull transactions

Additional template features

  • Sync your templates with Git
  • Built-in Zabbix version compatibility checking
  • (Optional) Automatically populate empty vendor field with your own string
  • (Optional) Allow automatic versioning of exported templates based on timestamps

Additional image (icons and backgrounds) features

  • Sync your map images with Git
  • Sync your icon-maps with Git
  • Dynamically generate icons and backgrounds in predefined sizes
  • Use .png or .svg files as sources for image generation

Installation

ZabbixCI is available on PyPI and can be installed using pip:

pip install zabbixci

Alternatively, you can use a container image to run ZabbixCI, see the available container images. See the Containerized Deployment documentation for more information.

Configuration

ZabbixCI requires parameters to be set as command line arguments, a yaml configuration or as environment variables. See the example configuration file.

We recommend passing environment variables when using the container image. Feel free to use the method that best suits your workflow.

Usage

We have a quickstart tutorial for first time users. Please see the Docs for extended details if needed.

License

This project is licensed under AGPL-3.0, see LICENSE for more information.

Contributing

Contributions are welcome! Please take a look at the following guidelines:

  • It is best to create a issue before submitting a PR, this way we can determine the correct base for a PR, allowing for easier merges and consistency in versions releases.
  • New features will always be added to the next minor update, instead of a patch update. For this, new features should always be based of the develop branch instead of the main branch.
  • Commit messages should follow the Gitmoji convention or prefix with types (feat:, fix:, style:, etc.).
  • The codebase uses ruff for formatting and linting. As well as ty for type checking.

Star History

[!NOTE] If you like this project, please consider starring it on GitHub. ❤️

Star History Chart

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zabbixci-0.3.14.tar.gz (288.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zabbixci-0.3.14-py3-none-any.whl (50.7 kB view details)

Uploaded Python 3

File details

Details for the file zabbixci-0.3.14.tar.gz.

File metadata

  • Download URL: zabbixci-0.3.14.tar.gz
  • Upload date:
  • Size: 288.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for zabbixci-0.3.14.tar.gz
Algorithm Hash digest
SHA256 a98d6880661b2c869f669a8e6e80b30720a887bdce2436e156967551de1d0c2f
MD5 a9e31f45bb03998f09ad5c77d58caf0d
BLAKE2b-256 7417ea0c995a2af01c7ac896ce210018a9daa87ea7e1a75690e62ac49b00b8ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for zabbixci-0.3.14.tar.gz:

Publisher: pypi.yaml on retigra/ZabbixCI

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zabbixci-0.3.14-py3-none-any.whl.

File metadata

  • Download URL: zabbixci-0.3.14-py3-none-any.whl
  • Upload date:
  • Size: 50.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for zabbixci-0.3.14-py3-none-any.whl
Algorithm Hash digest
SHA256 4d4cb989bd8f8d38ff93387238dbe166f7be149f4f7a2f72062b68f910ff5e70
MD5 c481a6ab05f346cdff8e23f9928c05bb
BLAKE2b-256 b22c2e6c62e570aea7f4cf72838fe3bc705cda3c1e517fb2d48db9fbbafd13f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for zabbixci-0.3.14-py3-none-any.whl:

Publisher: pypi.yaml on retigra/ZabbixCI

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page