Pluto (pluto)
Pluto finds deprecated Kubernetes apiVersions in your manifests and Helm charts. Kubernetes retires an API group version, serves it for a few more releases, and then stops; a manifest that still names the old one stops applying on the day you upgrade. Pluto tells you which resources those are, what to change each one to, and which release it goes away in.
It reads static files in a repository, and in a cluster it reads Helm
releases and the served API resources as well. It is not limited to core
Kubernetes — it tracks cert-manager and Istio versions too, and takes a
file of your own for anything else. Point it at a version with
--target-versions k8s=v1.29 and it answers for that upgrade rather than
in general, which is the difference between a lint and a plan. It exits 2
on a deprecated apiVersion and 3 on a removed one, so it gates a pipeline
as it stands, and Fairwinds publish a GitHub Action that runs it on a pull
request.
The demo opens in /root/platform-infra, a repository of manifests for
three services and the cluster add-ons they depend on, with six resources
on apiVersions that are on their way out. Scan the whole thing, then ask
about a particular upgrade: -t k8s=v1.24 finds one resource that breaks,
-t k8s=v1.26 finds five. Fix one manifest with sed and scan that
directory again to watch it come back clean, which is the state a CI job
is looking for. The VM is private to your browser tab; nothing you type
leaves it.
Commands to try
pluto detect-files -d . | every deprecated apiVersion in the repository |
pluto detect-files -d . -o wide | the release each one was deprecated and removed in |
pluto detect-files -d . -t k8s=v1.24 -r | what a 1.24 cluster will no longer serve |
pluto detect-files -d . -t k8s=v1.26 -r | the same question two releases later |
pluto detect-files -d . -o markdown | the same table as markdown for a pull request |
pluto list-versions | every apiVersion Pluto tracks and when it goes away |
Install Pluto on your own machine
| macOS (Homebrew) | brew install FairwindsOps/tap/pluto |
| asdf | asdf plugin-add pluto |
| Docker | docker pull us-docker.pkg.dev/fairwinds-ops/oss/pluto |
This VM was last built on Sep 15, 2026. How Demoshell demos work →
Other tools you can try here
- Midnight Commander — The classic two-panel terminal file manager, running live in a private Linux VM. Nothing to install.
- Neovim Tutor — Learn Vim in your browser with Neovim's built-in interactive tutorial (vimtutor), running live in a private Linux VM. Nothing to install.
- lazygit — The terminal UI for git that stages lines, commits, rebases and browses branches from the keyboard, live in a private VM.
- Atlas — Write down the database schema you want, and Atlas plans the SQL and the migration that gets you there, live in a private VM.