Skip to main content
Glama

Sextant

CI Latest release Downloads License: MIT OR Apache-2.0 Buy me a coffee

Sextant is a desktop application for managing Kubernetes clusters — an alternative to Lens, written in Rust on Tauri 2. It reads your kubeconfig, shows the resources of every cluster in live tables and lets you inspect, edit and operate them in one window. Linux, macOS and Windows.

Sextant: connecting to a cluster, the pods, their details, logs and a shell

Features

  • Your kubeconfig — every context is a cluster; several can be connected at once. Add files one by one, or a whole folder of them, whose subfolders become workspaces.

  • Cloud clusters — find your Amazon EKS, Google GKE, Azure AKS and Yandex Cloud clusters through the aws, gcloud, az and yc you already use, and add them in a few clicks.

  • Every resource in live tables, with details, a YAML editor, scale, restart, cordon, drain and CronJob actions; custom columns from labels, annotations and field paths, persistent column filters with nested AND/OR conditions per cluster and table, and Set image… with a preview and a patch of the image fields only.

  • Logs, shells and port forwarding — container logs with search, logs of several pods at once, a shell in any container, debug containers, copying files to and from containers, a shell on a node (a temporary privileged pod, removed when you close it), a local terminal already pointed at the cluster.

  • Problems and notifications — everything wrong in a cluster on one page, and desktop notifications for new problems that you can turn off globally, per kind of problem, per cluster or for an hour.

  • Command palette (Ctrl+K) to jump to any object or page; rollout history with a diff and rollback.

  • Understand the cluster — right-sizing of requests and limits from real usage, cert-manager and the expiry of every TLS certificate, a map of how objects relate (and what a delete would break), RBAC: who can do what.

  • Safer changes — a dry run and a diff before applying YAML or upgrading a Helm release, upgrade readiness (deprecated and removed APIs, version skew), security posture (Pod Security Standards, Trivy reports), and an overview of several clusters.

  • Troubleshooting — a timeline of what changed and by whom, why autoscaling did or did not scale, a cleanup of objects that are provably unused, and a network policy check: can pod A reach pod B.

  • Your workspace — saved views of tables, pinned objects, workspaces of clusters, export and import to share them with your team (never credentials), and kubeconfig management: rename, duplicate, delete and merge contexts with a preview and a backup, and credential expiry.

  • Power tools — a YAML editor that knows the cluster's schema (completion, validation, Explain), storage insights (volume usage, snapshots, Velero), a cost view from OpenCost or Kubecost, and terminal panes with snippets.

  • Scale and reach — Istio and Linkerd views with request routing and who may call a workload, comparing objects and namespaces across clusters (and drift from Helm), comfortable on clusters with tens of thousands of pods, and keyboard and screen-reader friendly.

  • Faster diagnosis — best-practice checks (probes, :latest images, single replicas, PodDisruptionBudgets, requests and limits) with a fix to copy, why a Service, Ingress or route gets no traffic, link by link, Helm revision compare and newer chart versions, and container probes in plain words.

  • Live traffic — a workload's request rate, error rate and latency (p50/p95/p99) with CPU throttling and a hint when the CPU limit is the cause, and a live graph of who calls whom with the rate, errors and latency of each call, from what Istio, Linkerd, ingress-nginx, Grafana Beyla or Cilium Hubble already report to Prometheus or VictoriaMetrics — nothing installed.

  • Ecosystem — Argo Rollouts (status, steps, weights, analysis; promote, abort and retry as the kubectl plugin sends them), Argo Workflows (the step tree with the failed step and its logs, CronWorkflows), Knative Serving, Crossplane (claim → composite → managed resources, paused state), Kyverno (policy results on every object), External Secrets (never the secret data), CloudNativePG (primary, replicas, backups, hibernation), Strimzi and Prometheus Operator (what a monitor selects and which Prometheus picks it up), each from the operator's own status.

  • In your language — English, Russian, Ukrainian, German, French, Spanish, Portuguese (Brazil), Italian, Polish, Turkish, Chinese (Simplified and Traditional), Japanese and Korean.

  • Metrics from metrics-server and Prometheus or VictoriaMetrics (both found automatically); Helm releases and charts; Flux and Argo CD (sync, diff).

  • MCP server for AI agents — connect Claude Code, Claude Desktop or Cursor to your clusters, with permissions you set per cluster, confirmations in the window and an activity log; read-only diagnostic tools give agents the window's own answers (problems, traffic diagnosis, connectivity, permissions, recent changes, autoscaling), only from what the agent may read.

  • Extensions — install more from the catalog (signed by their publishers, checked by Sextant) or write your own: pages, details panels, actions, columns, problem rules and metric charts, in isolated frames with the permissions you agree to — see Extensions below.

  • No account, no server, no telemetry.

An AI agent asks to scale a deployment; Sextant asks you first and records the call:

An AI agent asks through the MCP server, the user allows it in the window, the call is in the activity log

Related MCP server: kubernetes-mcp

Extensions

Sextant keeps its core focused on what every cluster needs and grows through extensions: small web pages, with an optional sandboxed WebAssembly backend, that add views for the operators and tools you actually run. Open Settings → Extensions → Catalog, pick one, read what it asks for, and press Install.

Sextant's own extensions. The catalog starts with extensions Sextant makes itself, kept out of the core so they ship on their own versions. The first is Rook Ceph:

  • Ceph's health and each health check in plain words;

  • raw capacity, versions, and a "stale" mark when the operator stops refreshing the status;

  • the operator, monitors, managers, OSDs by node, MDS, RGW and CSI drivers with their readiness;

  • the storage classes and claims on every pool, filesystem and object store;

  • charts of health, capacity, OSDs and placement groups from the Ceph mgr's metrics;

  • problems and notifications when Ceph is unhealthy or its status goes stale;

  • since 1.1.0, management through Rook's own objects: Ceph upgrades checked against the versions Rook supports, the CRUSH tree and OSDs (replace, stop, remove with Rook's purge Job), a node's CRUSH location, pool, MDS and gateway settings, new pools, filesystems, object stores and StorageClasses, muted health checks and the toolbox;

  • since 1.2.0 (Sextant 0.29), ceph commands in Rook's toolbox fixed in its manifest: status, health detail, the OSD tree and usage, the cluster's OSD flags, marking OSDs out or in and reweighting them, Ceph's own ok-to-stop and safe-to-destroy checks before an OSD is stopped or removed, and a sidebar section of its own with a problem counter.

Every change is shown before it is sent and confirmed in Sextant. It speaks every language Sextant does. Each of Sextant's own extensions has its documentation in its folder: Rook Ceph, all of them.

What an extension can add:

  • a page in the sidebar;

  • a section or tab in an object's details;

  • an action in its menu;

  • a table column;

  • a dock tab;

  • a settings section;

  • problem rules that Sextant evaluates itself, with nothing of the extension running, and that show up on the Problems page and in notifications;

  • charts from the cluster's Prometheus or VictoriaMetrics, through queries written in its manifest;

  • a backend that calls the services you agree to, such as a pager or ticket system.

You stay in control.

  • An extension asks for permissions in the same model as AI agents: which clusters, namespaces, kinds and actions. The consent screen shows them in plain words, with every metric query word for word, before anything is installed.

  • Every call is checked in Sextant's core, and changes ask you first. Secret values never reach an extension unless you allow them.

  • Each extension runs in an isolated frame with no network, and every call is written to an activity log.

  • Catalog packages are signed by their publisher and checked before they are unpacked. An update that asks for more asks you again, and nothing updates by itself.

Write your own. The SDK in sdk/ gives a template, examples, a test host, typed APIs, translations into Sextant's 14 languages and the sextant-ext tool to build, check, pack and sign. Rook Ceph is a full extension to learn from. Start with Writing extensions. To share yours, publish a signed release and open a pull request to the catalog.

Install

Download the installer from the latest release:

System

Files

Linux x86_64 and arm64

.AppImage, .deb, .rpm

macOS (Apple silicon and Intel)

universal .dmg

Windows x64

.msi, or the portable .zip

The installers are not code-signed, so macOS and Windows warn on first start — see Installation. The AppImage, .dmg and .msi update themselves; .deb, .rpm and the portable .zip (Scoop's: scoop update sextant) are updated with your package manager, and the app tells which when a new version is out.

Package managers:

brew install --cask friendsofkubernetes/sextant/sextant                 # macOS, Homebrew
scoop bucket add sextant https://github.com/FriendsOfKubernetes/sextant-scoop
scoop install sextant/sextant                                           # Windows, Scoop

winget (winget install FriendsOfKubernetes.Sextant) is coming soon.

Documentation

The wiki describes everything:

Community

Questions, ideas and projects go to Discussions: Q&A for help, Ideas for suggestions, Show and tell for what you built. Found a bug? Open an issue.

Articles about Sextant (in Russian, on Habr): a Lens replacement written entirely by a model, two roadmaps in two days: what is new in 0.12–0.19 and 13 releases in a week and the first outside contributors: 0.20–0.25.5.

Support the project

Sextant is free and will stay free: every feature is for everyone, with no paid edition, account or telemetry. If it saves you time and you want to say thanks, you can buy the author a coffee. A star on GitHub, a bug report or a word about Sextant to your colleagues helps just as much.

Roadmap

What we plan for the next releases. Each release is a milestone with one issue per feature; plans can change, and ideas are welcome in Discussions.

Release

Focus

What it brings

0.9

Everyday work (released)

Command palette (Ctrl+K), logs of several pods at once, debug containers, copying files to and from containers, rollout history with rollback, background notifications (can be turned off), cluster problems screen

0.10

Understanding the cluster (released)

Right-sizing of requests and limits, cert-manager and certificate expiry, resource map, RBAC "who can do what", the interface in 13 languages

0.11

Safer changes (released)

Dry-run and diff before applying, cluster upgrade readiness (deprecated APIs), security posture (Pod Security Standards, Trivy reports), overview of several clusters

0.12

Troubleshooting (released)

Change timeline, autoscaling insights (HPA, KEDA, Karpenter), cluster hygiene, network connectivity check

0.13

Your workspace (released)

Saved views and workspaces, kubeconfig management

0.14

Power tools (released)

YAML editor with the cluster's schema, storage insights (PVC usage, snapshots, Velero), cost view (OpenCost), terminal panes and snippets

0.15

Scale and reach (released)

Service mesh views (Istio, Linkerd), comparing objects across clusters and namespaces, very large clusters, accessibility

0.16

Faster diagnosis (released)

Best-practice checks (probes, :latest, single replicas, PDBs, requests and limits), why a Service or Ingress gets no traffic, Helm revision diff and newer chart versions, read-only diagnostic tools for AI agents

0.17

Live traffic (released)

A live graph of requests between services (Hubble, Istio, Linkerd, Beyla), request rate, errors, latency and CPU throttling per workload

0.18

Ecosystem (released)

Views for Argo Rollouts, Argo Workflows, Knative, Crossplane, Kyverno, External Secrets, CloudNativePG, Strimzi and Prometheus Operator, custom columns, a Set image action

0.19

Inside images, more installers (released)

Browsing an image's files straight from the registry (no exec, no pull), Homebrew, Scoop, rpm and Linux arm64 (winget is waiting for its first submission, #217)

0.20

Ingress and events (released)

Traefik and Contour views with traffic diagnosis, Knative Eventing, Strimzi connectors and their failing tasks, Caretta as a traffic graph source

0.21

GitOps actions and policies (released)

Argo Rollouts pause/resume, Argo Workflows suspend/resume/stop, network policy coverage, Sealed Secrets, Reflector mirrors

0.22

Capacity and clusters (released)

Vertical Pod Autoscaler recommendations beside right-sizing, Cluster API

0.23

GPU and AI/ML (released)

Dynamic Resource Allocation, NVIDIA GPU Operator, Kueue, JobSet, KubeRay, KServe

0.24

Alerts and logs (released)

Alertmanager alerts on the objects they name, logs of gone pods from Loki, links to Grafana dashboards and traces

0.25

OpenShift and platforms (released)

OpenShift Routes, DeploymentConfigs, Builds and ImageStreams, Operator Lifecycle Manager, vcluster, k3s and RKE2, accessible namespaces, actions on selected rows, charts from metrics-server, table filters (0.25.2, contributed by @VasiliyIsaichkin), Cmd+W closes the dock tab in front (0.25.4), agents on clusters with restricted RBAC (0.25.5)

0.26

Extensions ecosystem (released)

A catalog of extensions with signed publishers, extensions with a backend part (WebAssembly, in TypeScript or Rust), kubectl for the cluster's version, Helm, k9s and kubectx offered in Sextant's terminals, collapsible sections in resource details (contributed by @VasiliyIsaichkin), their guides kept outside a container's frame (0.26.1), port forwards stopped where they were started and managed on one page (0.26.2, contributed by @VasiliyIsaichkin), resource details resized from their left edge with widths kept per kind (0.26.3, contributed by @VasiliyIsaichkin), Yandex Cloud clusters from the installed yc (0.26.4, contributed by @VasiliyIsaichkin), pod metrics for agents read per namespace when the cluster refuses them at cluster scope (0.26.4)

0.27

Stability and memory (released)

A repeatable memory measurement, little growth on big clusters (+9 MB for 500 more pods), resource details that open about a third faster, terminal output that costs the window far less memory, no console window for exec auth plugins on Windows, credentials cut from condition messages, an extension isolation probe to run in each webview

0.28

Extensions grow up (released)

Extensions report problems by declarative rules and read Prometheus-compatible metrics through queries fixed in their manifest, extensions translated into every language Sextant has, and the first of Sextant's own extensions in the catalog: Rook Ceph (health checks in plain words, capacity, daemons, storage classes and claims, charts)

0.29

Extensions keep their promises (released)

Extensions built by earlier SDKs kept running by tests on frozen packages, counters on an extension's own sidebar sections, problem rules across objects, shared watches and reads of several objects at once, commands in containers fixed in the manifest and agreed to word for word, extensions' problems for agents when the user lets them, the catalog offering the newest release a Sextant can run, folders of kubeconfig files with workspaces from their subfolders

Further out: resource templates and forms, code-signed installers (#20), a mobile app (#17).

License

Licensed under either of

at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Safe, read-only-by-default Kubernetes access for AI agents via MCP. Provides explicit readonly, readwrite, and dangerous permission modes, plus MCPB bundles for desktop clients.
    2
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server that gives AI assistants full access to Kubernetes clusters and Helm, exposing 73 tools for managing pods, deployments, services, configs, secrets, logs, exec, port-forwarding, Helm lifecycle, and more.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    A local MCP server for Kubernetes that applies RBAC-style, context-scoped access control to constrain AI agents, with tools for common Kubernetes operations.
    1
    Apache 2.0