Profile
Back to NewsBack
GitHub Trending 3 min
Reader Mode
monitoring-mixins/mixtool: mixtool is a helper for easily working with jsonnet mixins.

monitoring-mixins/mixtool: mixtool is a helper for easily working with jsonnet mixins.

15 hours ago

mixtool

NOTE: This project is alpha stage. Flags, configuration, behavior and design may change significantly in following releases.

The mixtool is a helper for easily working with jsonnet mixins.

Install

Make sure you're using golang v1.17 or higher, and run:

go install github.com/monitoring-mixins/mixtool/cmd/mixtool@main

Usage

All command line flags:

[embedmd]:# (_output/help.txt)

NAME:
   mixtool - Improves your jsonnet mixins workflow

USAGE: mixtool [global options] command [command options] [arguments...]

VERSION: v0.1.0-pre

DESCRIPTION: mixtool helps with generating, building and linting jsonnet mixins

COMMANDS: generate Generate manifests from jsonnet input lint Lint jsonnet files new Create new jsonnet mixin files server Start a server to provision Prometheus rule file(s) with. list List all available mixins install Install a mixin help, h Shows a list of commands or help for one command

GLOBAL OPTIONS: --help, -h show help --version, -v print the version

Generate

[embedmd]:# (_output/help-generate.txt)
NAME:
   mixtool generate - Generate manifests from jsonnet input

USAGE: mixtool generate command [command options] [arguments...]

COMMANDS: alerts Generate Prometheus alerts based on the mixins rules Generate Prometheus rules based on the mixins dashboards Generate Grafana dashboards based on the mixins all Generate all resources - Prometheus alerts, Prometheus rules and Grafana dashboards

OPTIONS: --help, -h show help

New

[embedmd]:# (_output/help-new.txt)

NAME:
   mixtool new - Create new files for Prometheus alerts & rules and Grafana dashboards as jsonnet mixin

USAGE: mixtool new command [command options] [arguments...]

COMMANDS: grafana-dashboard Create a new file with a Grafana dashboard mixin inside prometheus-alerts Create a new file with Prometheus alert mixins inside prometheus-rules Create a new file with Prometheus rule mixins inside

OPTIONS: --help, -h show help

New Examples

mixtool new grafana-dashboard > my-dashboard.jsonnet
mixtool new prometheus-alerts > my-alerts.jsonnet
mixtool new prometheus-rules > my-rules.jsonnet

Lint

[embedmd]:# (_output/help-lint.txt)

NAME:
   mixtool lint - Lint jsonnet files

USAGE: mixtool lint [command options] [arguments...]

DESCRIPTION: Lint jsonnet files for correct structure of JSON objects

OPTIONS: --grafana Lint Grafana dashboards against Grafana's schema --prometheus Lint Prometheus alerts and rules and their given expressions --jpath value, -J value Add folders to be used as vendor folders

Lint Examples

# This will lint the file for Prometheus alerts & rules and Grafana dashboards.
mixtool lint prometheus.jsonnet

Don't lint Grafana dashboards.

mixtool lint --grafana=false prometheus.jsonnet

Don't lint Prometheus alerts & rules.

mixtool lint --prometheus=false prometheus.jsonnet

Lint multiple files sequentially.

mixtool lint prometheus.jsonnet grafana.jsonnet
Chat with me