explaingit

doitintl/kube-no-trouble

Analysis updated 2026-07-03

3,662GoAudience · ops devopsComplexity · 2/5Setup · easy

TLDR

A command-line tool that scans your Kubernetes cluster and reports any resources using deprecated API versions, so you know exactly what to update before upgrading Kubernetes.

Mindmap

mindmap
  root((kube-no-trouble))
    What it does
      Deprecated API detection
      Pre-upgrade scanning
      Multi-source checking
    Input sources
      Live cluster resources
      Local YAML and JSON files
      Helm chart packages
    Output formats
      Plain text table
      JSON output
      CSV for pipelines
    Installation
      Shell install script
      Homebrew and Scoop
      Docker container
      In-cluster job
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Scan a live Kubernetes cluster before upgrading its version to identify which deployed resources use deprecated or removed APIs.

USE CASE 2

Check local Kubernetes manifest files and Helm charts for deprecated API versions as part of a CI pipeline before deploying.

USE CASE 3

Export a CSV or JSON report of all deprecated API usage in a cluster to share with a team before planning an upgrade.

What is it built with?

GoKubernetesHelmDocker

How does it compare?

doitintl/kube-no-troublechristianselig/apollo-backendgoccy/go-json
Stars3,6623,6633,664
LanguageGoGoGo
Setup difficultyeasyhardeasy
Complexity2/53/52/5
Audienceops devopsdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Needs kubectl configured with access to the target cluster, install with a single shell command or Homebrew.

In plain English

Kube No Trouble, also called kubent, is a command-line tool that scans a Kubernetes cluster and reports any resources that use deprecated API versions. Kubernetes is a platform for managing containerized applications across multiple servers, and it evolves over time: older ways of defining resources like Deployments, Ingresses, and Services get deprecated and eventually removed in newer versions of Kubernetes. If you upgrade your cluster without first updating those resource definitions, things can break. Running kubent connects to your cluster and checks what API versions your currently-deployed resources use, then compares them against a list of APIs deprecated in each Kubernetes version. It prints a table showing which resources are at risk and in which Kubernetes version they will stop working. The idea is to identify what needs updating before you upgrade the cluster itself. The tool reads from several sources: it can check resources currently deployed in the cluster, examine local manifest files in YAML or JSON format, or inspect Helm deployments. Helm is a package manager for Kubernetes, and kubent can read the package metadata it stores to catch deprecated APIs in installed Helm charts. This flexibility means it can find issues whether your resources are managed manually, deployed from files, or installed via Helm. Kubent is available for Linux, macOS, and Windows, and can be installed with a single shell command, via Homebrew on Mac, via Scoop on Windows, or as a Docker container. It can also run inside the cluster itself as a one-off job. Output can be in plain text, JSON, or CSV format, making it straightforward to feed results into other tools or CI pipelines. An exit-code flag lets pipelines treat found deprecations as a build failure.

Copy-paste prompts

Prompt 1
Run kubent against my Kubernetes cluster and explain each deprecated resource it finds, including which version removes it and what the replacement API looks like.
Prompt 2
Show me how to add kubent to a GitHub Actions CI pipeline that fails the build if any Kubernetes manifests in the repo use deprecated APIs.
Prompt 3
I am upgrading from Kubernetes 1.24 to 1.28. Use kubent output to help me identify and rewrite every resource definition that will break after the upgrade.
Prompt 4
How do I run kubent as a one-off job inside the Kubernetes cluster itself instead of from my local machine, and how do I retrieve the output?

Frequently asked questions

What is kube-no-trouble?

A command-line tool that scans your Kubernetes cluster and reports any resources using deprecated API versions, so you know exactly what to update before upgrading Kubernetes.

What language is kube-no-trouble written in?

Mainly Go. The stack also includes Go, Kubernetes, Helm.

How hard is kube-no-trouble to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is kube-no-trouble for?

Mainly ops devops.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub doitintl on gitmyhub

Verify against the repo before relying on details.