Repository navigation
Building from source
- Rust, stable, 1.90 or newer: https://rustup.rs
- Node.js 22 or newer with npm (CI uses Node 24)
- The Tauri system dependencies for your system: https://tauri.app/start/prerequisites/. On Debian/Ubuntu:
libwebkit2gtk-4.1-dev,libgtk-3-dev,libayatana-appindicator3-dev,librsvg2-dev,build-essential,curl,wget,file,libssl-dev,libxdo-dev.
git clone https://github.com/FriendsOfKubernetes/sextant.git
cd sextant
npm ci # or npm install
npm run tauri dev # run in development modenpm run tauri dev starts the Vite dev server on port 1420 (the port is fixed: if it is busy, the start fails) and the application window. If you installed Rust with rustup, make sure ~/.cargo/bin is in your PATH.
# installers in target/release/bundle/, without the in-app update files:
npm run tauri -- build --config '{"bundle":{"createUpdaterArtifacts":false}}'The project's own builds are made with the in-app updater on (bundle.createUpdaterArtifacts in src-tauri/tauri.conf.json). A plain npm run tauri build signs the update files with the project's private key from TAURI_SIGNING_PRIVATE_KEY and fails without it. That key lives only in the repository's release workflow, so a build of your own turns the update files off, as in the command above. In PowerShell write the option as --config '{\"bundle\":{\"createUpdaterArtifacts\":false}}'.
An installed build of your own still offers the official releases as updates; installing one replaces your build with the official one.
What you get:
| System | Packages |
|---|---|
| Linux |
.deb, .rpm and .AppImage (the official releases ship .deb and .AppImage) |
| macOS |
.app and .dmg
|
| Windows |
.msi and an NSIS installer (the official releases ship .msi) |
To pick only some bundles, add --bundles, for example --bundles deb,appimage.
For a quick debug binary (no installer, no signing):
npm run tauri -- build --debug --no-bundle # target/debug/sextantRun it with target/debug/sextant. The same binary offers sextant mcp, the bridge used by Claude Desktop (see MCP server).
- The
sextantcrate embeds the built frontend fromdist/. On a clean clone, runnpm run buildbeforecargo build,cargo testorcargo clippy(npm run tauri ...does it for you through itsbeforeBuildCommand). -
target/grows large (tens of gigabytes) because of debug information. For local checks and builds,CARGO_PROFILE_DEV_DEBUG=0 CARGO_INCREMENTAL=0keeps it small. - The version number lives in five files and must be the same in all of them; see Development.
Next: Development.
Sextant is licensed under MIT or Apache-2.0. Found a mistake in this wiki? Open an issue.
Sextant
- Home
- Installation
- Getting started
- Using Sextant
- YAML editor
- Terminal
- Views and workspaces
- Custom columns
- Kubeconfig management
- All clusters
- Set image
- Image files
- Safe apply (Preview changes)
- Upgrade readiness
- Security posture
- Best practices
- Storage
- Right-sizing
- Cost
- Resource map
- Request metrics and traffic
- Change timeline
- Cleanup
- Autoscaling
- Connectivity
- Traffic diagnosis
- Compare and drift
- RBAC: who can do what
- cert-manager and certificates
- Problems and notifications
- Argo Rollouts and Argo Workflows
- Ecosystem views
- Gateway API
- Service mesh
- Installing Flux and Argo CD
- MCP server
- Extensions
- Writing extensions
- Large clusters
- Accessibility
- Settings
- Troubleshooting
For contributors