# Configuration file for ZabbixCI
#
# To get more information about
# using ZabbixCI, please visit:
#
# https://github.com/retigra/ZabbixCI


#### GENERAL CONFIGURATION ####

### Option: root_template_group
# Template group name in Zabbix to use
# as root for synchronization.
# 
# Mandatory: no
# Default: 
root_template_group: "Templates"

### Option: whitelist
# Comma separated list of template names
# to synchronize explicitly.
# If set, all other templates will be ignored.
#
# Mandatory: no
# Default:
template_whitelist: ""

### Option: blacklist
# Comma separated list of template names
# to ignore during synchronization.
# All other templates will be synced.
#
# Mandatory: no
# Default: 
template_blacklist: ""

### Option: batch_size
# Number of assets (templates) to export
# from Zabbix simultaneously.
# This can be tuned to fit to support
# the system resources of your Zabbix
# frontend servers.
#
# Mandatory: yes
# Default: 
batch_size: 50

### Option: insecure_ssl_verify
# Ignore certificate verification.
# This can be used to ignore self-signed
# certificates.
#
# Do not use this in production!
#
# Mandatory: no
# Default:
ignore_ssl_verify: False

### Option: ignore_template_version
# Ignore template version on Zabbix import.
# Used for importing older templates into
# a newer version of Zabbix.
#
# Mandatory: no
# Default:
ignore_template_version: False


#### ZABBIX CONFIGURATION ####

### Option: zabbix_url
# URL of your Zabbix frontend.
#
# Mandatory: yes
# Default:
zabbix_url: "http://localhost:8080"

### Option: zabbix_token
# API token to access your Zabbix frontend.
# This is preferred over using a user and
# password.
#
# Required if zabbix_user and 
# zabbix_password are not set.
# 
# Mandatory: no
zabbix_token: ""

### Option: zabbix_user
# Zabbix user to access your Zabbix frontend.
# Please consider switching to using
# an API token. 
#
# Required if zabbix_token is not set.
#
# Mandatory: no
zabbix_user: ""

### Option: zabbix_password
# Zabbix password to access your Zabbix frontend.
# Please consider switching to using
# an API token. 
#
# Required if zabbix_token is not set.
#
# Mandatory: no
zabbix_password: ""


#### GIT CONFIGURATION ####

### Option: remote
# Remote Git repository to use for
# synchronization.
#
# Mandatory: yes
remote: "git@github.com/org/repo.git"

### Option: pull_branche
# Git branch used to pull
# for synchronization.
#
# Mandatory: no
# Default:
pull_branch: "main"

### Option: push_branche
# Git branch used to push
# for synchronization.
#
# Mandatory: no
# Default:
push_branch: "main"

### Option: git_author_name
# Name of the Git author to use in
# Git commits.
#
# Mandatory: no
# Default:
git_author_name: "Zabbix CI"

### Option: git_author_email
# Email of the Git author to use in
# Git commits.
#
# Mandatory: no
# Default:
git_author_email: "zabbixci@localhost"

### Option: template_prefix_path
# Path in the Git repo to use for template
# synchronization. This can be used to ignore
# other directories in the Git repo that may
# contain other information that is not to
# be synced with Zabbix.
#
# Mandatory: no
# Default:
template_prefix_path: ""

### Option: git_username
# Username to use for access to the git
# repository.
#
# Mandatory: no
# Default:
git_username: "git"

### Option: git_password
# Password to use for access to the git
# repository.
#
# Mandatory: no
# Default:
#git_password: ""

### Option: git_pubkey
# Publickey for access to the git
# repository.
#
# Mandatory: no
# Default:
git_pubkey: ""

### Option: git_privkey
# Privatekey to use for access to the git
# repository.
#
# Mandatory: no
# Default:
git_privkey: ""

### Option: git_keypassphrase
# Passphrase to unlock the git_privkey.
#
# Mandatory: no
# Default:
git_keypassphrase: ""

### Option: cache_path
# Local filesystem path
# to use for caching the remote Git
# repository.
#
# Mandatory: no
# Default:
cache_path: "./cache"

### Option: dry_run
# Disabled non-reversible changes
# Git push, Zabbix import and ZabbixCI
#  template removal is disabled.
#
# Mandatory: no
# Default:
dry_run: False
