Skip to content

[alpha] Tool to evaluate upgrade confidence for Kubernetes cluster addons

License

Notifications You must be signed in to change notification settings

FairwindsOps/gonogo

Repository files navigation

GoNoGo Logo

Determine the upgrade confidence of your cluster addons.

GoNoGo is a utility to help users determine upgrade confidence around Kubernetes cluster addons.

Alpha Software

At this time, GoNoGo is currently in alpha. This means that we could change literally anything at any time without notice. Keep an eye out for major changes, and hopefully a v1 release at some point.

Documentation

Check out the documentation at docs.fairwinds.com

Purpose

A number factors can affect whether the upgrade of an addon (like cert-manager, nginx ingress, etc) will be successful or not. For example, some addon upgrades require a specific api to be available in the cluster, or a specific version of the Kubernetes cluster in general. Or perhaps an addon has deprecated a particular annotation and you want to make sure your upgraded addon doesn't include those deprecated annotations. Rather than having to manually assess each addon, GoNoGo enables you to create a specification (called a bundle spec) that you can populate with checks for the upgraded version, and run those against your cluster to get an upgrade confidence score.

For example, cert-manager changed a number of annotations in the upgrade from 0.10 to 0.11. With GoNoGo you can add an OPA check to your bundle spec looking for instances of that annotation in the affected cluster resources and be warned about it before you do the upgrade.

Usage

gonogo --help
The Kubernetes Add-On Upgrade Validation Bundle is a spec that can be used to define and then discover if an add-on upgrade is safe to perform.

Usage:
  gonogo [flags]
  gonogo [command]

Available Commands:
  check       Check for Helm releases that can be updated
  completion  Generate the autocompletion script for the specified shell
  help        Help about any command
  version     Prints the current version of the tool.

Flags:

  -h, --help      help for gonogo
  -v, --v Level   number for the log level verbosity

Use "gonogo [command] --help" for more information about a command.

Pass in a bundle spec with the addon definitions that you want to check


gonogo check /path/to/bundle/bundle.yaml

Join the Fairwinds Open Source Community

The goal of the Fairwinds Community is to exchange ideas, influence the open source roadmap, and network with fellow Kubernetes users. Chat with us on Slack or join the user group to get involved!

Love Fairwinds Open Source? Automate Fairwinds Open Source for free with Fairwinds Insights. Click to learn more

Other Projects from Fairwinds

Enjoying Gonogo? Check out some of our other projects:

  • Polaris - Audit, enforce, and build policies for Kubernetes resources, including over 20 built-in checks for best practices
  • Goldilocks - Right-size your Kubernetes Deployments by compare your memory and CPU settings against actual usage
  • Pluto - Detect Kubernetes resources that have been deprecated or removed in future versions
  • Nova - Check to see if any of your Helm charts have updates available
  • rbac-manager - Simplify the management of RBAC in your Kubernetes clusters

Or check out the full list