Promtool GitHub Actions allow you to check Prometheus configs and Alert rules within GitHub Actions.
The output of the actions can be viewed from the Actions tab in the main repository view. If the actions are executed on a pull request event, a comment may be posted on the pull request.
An exit code of 0
is considered a successful execution.
Promtool GitHub Actions are a single GitHub Action that executes different promtool subcommands depending on the content of the GitHub Actions YAML file. Right now only rules
and config
is supported which runs promtool check rules
and promtool check config
for the given files.
Additionally, alertmanager
could be used to check the alertmanager config. It uses amtool
command instead.
name: Check Prometheus Alert rules
on:
pull_request:
paths:
- 'prometheus/config/*.yml'
- 'prometheus/alert_rules/*.yml'
jobs:
on-pull-request:
name: On Pull Request
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@master
- name: Check Prometheus alert rules
uses: peimanja/promtool-github-actions@master
with:
promtool_actions_subcommand: 'rules'
promtool_actions_files: 'prometheus/alert_rules/*.yml'
promtool_actions_flags: '--lint-fatal'
promtool_actions_version: '2.14.0'
promtool_actions_comment: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Check Prometheus configs
uses: peimanja/promtool-github-actions@master
with:
promtool_actions_subcommand: 'config'
promtool_actions_files: 'prometheus/config/*.yml'
promtool_actions_version: '2.14.0'
promtool_actions_comment: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Inputs configure Terraform GitHub Actions to perform different actions.
promtool_actions_subcommand
- (Required) The Promtool subcommand to execute. Valid values arerules
,config
andalertmanager
.promtool_actions_files
- (Required) Path to files. Can be something likeconfigs/*.yml
oralert_rules/*.yml
.promtool_actions_flags
- (Optional) The Promtool flags.promtool_actions_version
- (Optional) The Promtool version to install and execute (Prometheus bundle version). The default is set tolatest
and the latest stable version will be pulled down automatically.amtool_actions_version
- (Optional) The Amtool version to install and execute (Prometheus Alertmanager bundle version). The default is set tolatest
and the latest stable version will be pulled down automatically.promtool_actions_comment
- (Optional) Whether or not to comment on GitHub pull requests. Defaults totrue
.
Secrets are similar to inputs except that they are encrypted and only used by GitHub Actions. It's a convenient way to keep sensitive data out of the GitHub Actions workflow YAML file.
GITHUB_TOKEN
- (Optional) The GitHub API token used to post comments to pull requests. Not required if thepromtool_actions_comment
input is set tofalse
.