rdv

command module
v0.14.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 17, 2026 License: MPL-2.0 Imports: 1 Imported by: 0

README

RDV (render-diff-validate)

Release Version Build Go Report Card

rdv lets you preview your GitOps changes without committing rendered manifests.

It renders your local Helm chart or Kustomize overlay, optionally validates the output with kubeconform, and compares the results against a target git ref (such as main or develop).

A coloured diff shows exactly what will change before you push.

RDV Default Diff

Requirements

  • make
  • git
  • Go 1.24 or newer

Installation

You can install rdv directly using go install:

go install github.com/dlactin/rdv@latest

Flags

Flag Shorthand Description Default
--debug Enable verbose logging for debugging false
--help h help for rdv false
--output o Write the local and target rendered manifests to a specific file path
--path p Relative path to the chart or kustomization directory .
--plain Output in plain style without any highlighting false
--ref r Target Git ref to compare against. Will try to find its remote-tracking branch (e.g., origin/main) main
--semantic s Enable semantic diffing of k8s manifests (using dyff) false
--update u Update Helm chart dependencies. Required if lockfile does not match dependencies false
--validate v Validate rendered manifests with kubeconform false
--values f Path to an additional values file (can be specified multiple times) []
--version version for rdv false

Examples

This must be run while your current directory is within your git repository

Checking a Helm Chart diff against another target ref
rdv -p ./examples/helm/helloworld -f values-dev.yaml -r development
Checking a Helm Chart diff and validating our rendered manifests
rdv -p ./examples/helm/helloworld --validate
Checking Kustomize diff against the default (main) branch with semantic diff
rdv -p ./examples/kustomize/helloworld -s
Checking Kustomize diff against a tag
rdv -p ./examples/kustomize/helloworld -r tags/v0.5.1

Documentation

Overview

Package main runs our cmd.Execute() function

Directories

Path Synopsis
Package cmd implements the command-line interface for rdv using the Cobra library.
Package cmd implements the command-line interface for rdv using the Cobra library.
internal
diff
Package diff provides functions for comparing rendered manifests
Package diff provides functions for comparing rendered manifests
git
Package git provides functions for setting up a temporary git work tree
Package git provides functions for setting up a temporary git work tree
helm
Package helm provides functions to render helm charts, load multiple values files provided as a cli flag and check if the provided path is a helm chart
Package helm provides functions to render helm charts, load multiple values files provided as a cli flag and check if the provided path is a helm chart
kustomize
Package kustomize provides functions to build kustomizations, and check if the provided path contains kustomizations
Package kustomize provides functions to build kustomizations, and check if the provided path contains kustomizations
options
Package options provides common structs used across different packages
Package options provides common structs used across different packages
tools/docgen command
This docgen script is used to keep our flags and examples documentation updated in the README.md as our command changes
This docgen script is used to keep our flags and examples documentation updated in the README.md as our command changes
validate
Package validate provides functions to validate rendered manifests We're using the kubeconform library here for manifest validation against the default schemas supported by kubeconform.
Package validate provides functions to validate rendered manifests We're using the kubeconform library here for manifest validation against the default schemas supported by kubeconform.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL