VM INSTANCE // pluto · demoshell/tools:pluto
◍ PRIVATE VM
Pluto running in your browser
downloads up to ≈ 28.1 MB
This VM is emulated in your browser, so software can feel slower here than it does on a real machine.

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 widethe release each one was deprecated and removed in
pluto detect-files -d . -t k8s=v1.24 -rwhat a 1.24 cluster will no longer serve
pluto detect-files -d . -t k8s=v1.26 -rthe same question two releases later
pluto detect-files -d . -o markdownthe same table as markdown for a pull request
pluto list-versionsevery apiVersion Pluto tracks and when it goes away

Install Pluto on your own machine

macOS (Homebrew)brew install FairwindsOps/tap/pluto
asdfasdf plugin-add pluto
Dockerdocker 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.
kubernetesupgradesdeprecated apishelmgoApache-2.0
Request changes or removal

This demo of pluto (demoshell/tools:pluto) was built by Demoshell and is not affiliated with the project. Tell us what to change, or ask us to take it down.