github unxsist/jet-pilot v2.0.0

5 hours ago

2.0.0 (2026-10-05)

✨ JET Pilot 2.0: every cluster, every cloud, one calm app

🗂️ The Clusters hub

  • All your clusters in one list: every cluster from every kubeconfig and cloud account, with live status. Press ⌘O / Ctrl+O.
  • Organise them: give clusters names, colours, environments, folders and tags; star favourites and hide the rest.
  • Details on click: status, version, nodes, how the cluster signs in and until when, server, context and kubeconfig.

☁️ Every cloud, built in

  • Connect a cloud account and JET Pilot finds its clusters and keeps the list current:
    • AWS: IAM Identity Center, a profile (MFA included) or access keys
    • Google Cloud and Azure: through the gcloud and az sign-ins you already have
    • DigitalOcean, Akamai/Linode, Civo, Scaleway, Vultr: an API token
    • Exoscale: an API key
  • New clusters wait for you in the hub. Add one, add them all, or ignore the rest. Clusters deleted in the cloud are flagged.

➕ Add anything

  • Paste or import a kubeconfig, or enter a cluster by hand, with Test connection. Press ⌘N / Ctrl+N.
  • Your own kubeconfig stays untouched. Clusters you add live in JET Pilot's own kubeconfig (~/.kube/jet-pilot/config), with their credentials in your system keychain, or in a passphrase-protected vault where there's no keychain.
  • They work in kubectl and k9s too, through a small credential helper.

🔑 Sign in without leaving the app

  • No more terminal round-trips. Device codes and browser sign-ins for kubelogin, gcloud, az, AWS and OIDC plugins appear right in JET Pilot.
  • Everything reconnects afterwards: lists, logs, metrics and port forwards.
  • Nothing pops up on its own. Background work never opens a browser.

🛡️ Production, protected

  • Production stands out. Mark a cluster as production and its colour and badge follow you everywhere.
  • Typed confirmations: deleting, draining or scaling to zero asks you to type the name. Applying YAML runs a server-side dry run first.
  • Read-only clusters can't be changed from JET Pilot at all.

⚙️ Settings, rebuilt

  • Find any setting: every setting is searchable (⌘, / Ctrl+,), the ones you changed are marked, and there's a settings.json editor.
  • Kubeconfig files are found by themselves: ~/.kube/config, $KUBECONFIG, ~/.kube/*.yaml and ~/.kube/config.d.
  • kubectl, Helm and kubelogin downloads: JET Pilot can fetch them for you, checked against their official checksums.

🎨 Calmer everywhere

  • A design pass over the whole app: fewer boxes, clearer lists, and status only when it needs you.
  • A setup guide welcomes new installs.

Your settings move to the new format by themselves; the old file is kept as settings.v1.backup.json.

Features

  • a calmer, more elegant JET Pilot (#100) (6458dd0)
  • add clusters from a kubeconfig or by hand, keychain-backed credentials and in-app sign-in (#98) (e532cf4)
  • clusters hub with cluster details, production guardrails and a setup guide (#97) (261a030)
  • connect AWS and add EKS clusters from every account and region (#99) (edb2cd6)
  • connect Google Cloud, Azure, DigitalOcean, Akamai, Civo, Scaleway, Vultr and Exoscale (#101) (be7cb75)
  • JET Pilot 2.0 (#102) (dcd2295)
  • rebuilt settings with search, settings.json and kubeconfig auto-detection (#96) (3a82eb1)

Upgrading from 1.x

  • Settings move automatically. They're now settings.json (preferences) and state.json (session), and your old file is kept as settings.v1.backup.json.
  • Your own kubeconfig is never changed. Clusters you add in JET Pilot live in ~/.kube/jet-pilot/config, with their credentials in your system keychain. To use them in your terminal, add that file to KUBECONFIG (Settings › Advanced › Cluster credentials shows the line to copy), or export them into ~/.kube/config (a backup is made first).
  • Linux without a keychain (no Secret Service): JET Pilot asks for a passphrase the first time it stores a credential.

Install

  • macOS: brew install --cask unxsist/tap/jet-pilot, or download the .dmg for Apple Silicon (aarch64) or Intel (x64).

    [!IMPORTANT]
    JET Pilot isn't notarized by Apple. The Homebrew tap removes the quarantine flag for you. If you install the .dmg yourself and macOS says the app "is damaged" or "can't be verified", run this once:

    xattr -dr com.apple.quarantine "/Applications/JET Pilot.app"
  • Windows: the .exe or .msi installer (SmartScreen: More info → Run anyway).

  • Linux: .deb, .rpm or .AppImage for x64 and ARM64.

Existing installs update themselves. On 1.38.1 or older, give the update a minute before clicking Restart. If you're still on the old version afterwards, download it from jet-pilot.app or run brew upgrade --cask --greedy unxsist/tap/jet-pilot.

Don't miss a new jet-pilot release

NewReleases is sending notifications on new releases.