PR Checks
PR Checks takes the guesswork out of Kubernetes code reviews.
Overview
As automation takes over the world, the meaning of merging a pull request has often changed to starting a deployment. Pressing that button should only be done when you are confident as misconfigurations can become harmful.
The Monokle GitHub Bot augments your PR review process to avoid surprises down the line. It takes Dry Runs for Helm and Kustomize into consideration when checking. The goal is for a "batteries included" solution with little to no required configuration.
PR Checks is currently only available for GitHub. You can consider to use Monokle CLI for other CI providers.
Basics
Manage Bot
You can manage the GitHub Bot in Project > PR Validation. Switch the toggle to activate PR Validations. By default, all your repositories will now have Status Checks and Dry Run Review Tools enabled. You can use the list below to override this behaviour for the desired repositories.
The same repository cannot have PR Checks enabled in multiple projects.
Status Checks
The GitHub Bot adds a status check which is the sum of all misconfigurations for your plain Kubernetes resources and affected Dry Runs. Clicking details will bring you to the audit activity to get a detailed list of all misconfigurations and help you fix them.
By default GitHub does not enforce status checks. You can go to GitHub's Repo > Settings > Branches > main (edit) and check require status checks to pass before merging
. Keep in mind that you need to already have had a check run in order to find the monokle/validation option here.
Dry Run Review tools
The GitHub Bot understands which Helm Charts and Kustomizations were changed in this pull request. A comment will be added to your pull requests which validates each affected dry run and shows you a summary.
The comment contains quicklinks to the Monokle's audit activity to commit a fix for your misconfiguration within seconds. It also contains quicklinks to compare the resulting Dry Run with your target branch so you can avoid surprises when there are small differences between the anticipated and actual resulting configuration.
FAQ
What is the difference between the Monokle Bot and the Monokle Action?
The Monokle Action is a custom GitHub Action and acts as a wrapper around the CLI which simplifies usage within GitHub Actions workflows. On the other hand, the Monokle Bot is a GitHub App which extends GitHub's functionality to give additional help on pull requests and an out-of-the-box experience.