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.
# 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 (opens new window) 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 (opens new window) or join the user group (opens new window) to get involved!
# Other Projects from Fairwinds
Enjoying Gonogo? Check out some of our other projects:
- Polaris (opens new window) - Audit, enforce, and build policies for Kubernetes resources, including over 20 built-in checks for best practices
- Goldilocks (opens new window) - Right-size your Kubernetes Deployments by compare your memory and CPU settings against actual usage
- Pluto (opens new window) - Detect Kubernetes resources that have been deprecated or removed in future versions
- Nova (opens new window) - Check to see if any of your Helm charts have updates available
- rbac-manager (opens new window) - Simplify the management of RBAC in your Kubernetes clusters