Ansible roles and playbooks for Victoria Metrics.
Roles are published in ansible galaxy: https://galaxy.ansible.com/ui/namespaces/victoriametrics/
Install collection:
ansible-galaxy collection install victoriametrics.clusterCollection includes the following roles:
- single - installs and configures VictoriaMetrics single node
- vmagent - installs and configures
vmagent - vmalert - installs and configures
vmalert - vmselect - installs and configures
vmselect - vmstorage - installs and configures
vmstorage - vminsert - installs and configures
vminsert - vmauth - installs and configures
vmauth
See cluster and single playbooks for examples of how to use these roles.
Cluster deployment example is available in playbooks/cluster.yml. The playbook deploys VictoriaMetrics cluster and vmauth to act as a load balancer and authentication proxy. See inventory for example of inventory file.
Here is a diagram of the cluster deployment:

It's also possible to use molecule scenario to create a local cluster for testing.
See molecule directory for details. The scenario uses docker as a driver and
sets up a container for each component. The scenario can be deployed by
using make molecule-converge-cluster-integration command.
In order to set up development environment, you need to have docker, python and make installed.
Run make init-venv to create virtual environment and install required packages for linting and testing
with molecule.
Please, note that cluster role is tested with vagrant and libvirt provider and
requires vagrant to be installed.
Refer to Makefile for available commands for linting and molecule testing.