Skip to main content
New to Monokle? Streamline your Kubernetes deployments with Monokle. Get Started >

Dry Runs

Helm and Kustomize Dry Runs unveil what will actually be deployed.

A rendered Dry Run

Overview

Tools like Helm And Kustomize are often used to avoid duplication and help with packaging Kubernetes configuration. You can render Dry Runs of these tools to visualize and validate your deployment configuration, minimizing surprises and optimizing deployment processes.

Basics

Render Dry Runs

You can find Dry Runs by browsing to the file explorer. At the bottom, a Dry runs section lists all the discovered Helm Charts and Kustomizations. Simply click on your desired Dry Run to start rendering it.

While rendering, the Kubernetes Object navigator will change to a teal accent color accompanied by an indicator that the application is currently rendering. After a brief time, a list of all generated Kubernetes objects will appear.

You can exit the Dry Run by pressing the cross in either the Dry Run section or the Object navigator's header.

Validate Dry Runs

The Kubernetes objects generated by a Dry Runs are validated according to the default policy. You can view a list of all problems in the audit pane which will update accordingly. Autofix is unavailable as the objects are read-only, but you can edit Dry Runs instead as described below.

Edit Dry Runs

Dry Run objects are marked as read-only since modifications would be overridden by the next render. You should edit their source files instead. Monokle will detect file changes and automatically re-render the Dry Run for you. This results in a swift workflow without repetitious actions.

To illustrate a Helm Chart, changing a .tpl file to fix a misconfiguration will automatically re-render and keep the object selected. You can now check that the problem has been resolved.

Advanced

Configure Dry Run

Discovered Helm Charts and Kustomizations will render with basic and mostly default settings. Some advanced use cases will want to customize the flags of the underlying CLIs. Dry Run Configuration help you accomplish this.

To create your first Dry Run Configuration, add a new file to the repository which contains a DryRun YAML object. Monokle will include this in the Dry Run section and you can render it similarly to Discovered Dry Runs: by clicking it.

The following snippet shows you how to combine multiple values files in a Helm Chart:

apiVersion: monokle.io/v1beta1
kind: DryRun
metadata:
name: hello-world
annotations:
config.kubernetes.io/local-config: true
data:
kind: helm
version: v3
values:
- values.yaml
- values-prod.yaml
info

Certain options might be disabled due to security concerns.

Combine Helm and Kustomize

Some advanced use cases combine multiple renderers for additional last-mile editing. You can create a Dry Run pipeline by using postRender which will pass output of the previous step to the next one.

apiVersion: monokle.io/v1beta1
kind: DryRun
metadata:
name: hello-world
annotations:
config.kubernetes.io/local-config: true
data:
kind: helm
output: resources.yaml
postRender:
- kind: kustomize

FAQ

Are there limitations to rendering Dry Runs?

Yes, there are limitations. We are continuously looking to incrementally improve our Dry Runs. Currently, you might run into problems with private Helm Registries. Please reach out to us if a limitation is blocking your workflow.

Do you support tools besides Helm and Kustomize?

No, currently Monokle only supports Helm and Kustomize renderers. Our backend's architecture is designed with support for additional renderers. Please reach out to us if lack of tooling is blocking your workflow.