Compare commits
No commits in common. "main" and "v0.9.0" have entirely different histories.
42
CHANGELOG.md
@ -6,39 +6,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
## [0.9.3] - 2026-11-03
|
|
||||||
|
|
||||||
### Fixed
|
|
||||||
|
|
||||||
- The mouse pointer is hidden while the bubbles screen saver is showing, and returns when the overlay is cleared.
|
|
||||||
|
|
||||||
## [0.9.2] - 2026-11-02
|
|
||||||
|
|
||||||
### Added
|
|
||||||
|
|
||||||
- **View -> Full screen** or **F11** fills the display; **Escape** leaves full screen. Full screen is not restored on the next launch.
|
|
||||||
- **Settings -> Screen saver** enables a bubbles overlay after idle minutes while full screen. The console stays readable under the bubbles. Any mouse or key press clears the overlay without leaving full screen.
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- AppStream screenshots stay on tag `v0.8.6`, where those images are stored. The `0.9.2` release entry points at this version's changelog.
|
|
||||||
|
|
||||||
## [0.9.1] - 2026-10-31
|
|
||||||
|
|
||||||
### Added
|
|
||||||
|
|
||||||
- The cluster catalog can collapse to a narrow rail labeled Connections, the same way the details pane and overview chat collapse. Opening it restores the previous width. The choice is saved with the layout.
|
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- The Linux Flatpak no longer ships kubelogin. Download CLI installs kubelogin into the app the same way as gcloud, az, aws, oci, doctl, and ibmcloud.
|
- The Linux Flatpak no longer ships kubelogin. Download CLI installs kubelogin into the app the same way as gcloud, az, aws, oci, doctl, and ibmcloud.
|
||||||
- Overview charts show node usage from metrics-server first. The full pod list and the issues lists refresh less often when the app stays open.
|
|
||||||
- AppStream screenshots stay on tag `v0.8.6`, where those images are stored. The `0.9.1` release entry points at this version's changelog.
|
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- The Cloud window no longer says the Flatpak bundle includes doctl and kubelogin. Download CLI installs both.
|
- The Cloud window no longer says the Flatpak bundle includes doctl and kubelogin. Download CLI installs both.
|
||||||
- While a resource watch is live, the app no longer lists every pod and ReplicaSet every five seconds for overview metrics.
|
|
||||||
|
|
||||||
## [0.9.0] - 2026-10-21
|
## [0.9.0] - 2026-10-21
|
||||||
|
|
||||||
@ -81,7 +55,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- When Settings -> AI is on, Chat sits on the cluster overview beside Errors and Warnings. Analyze issues asks which objects are still failing and which events are leftover after the pods recovered. Those warnings and errors go with the question.
|
- When Settings → AI is on, Chat sits on the cluster overview beside Errors and Warnings. Analyze issues asks which objects are still failing and which events are leftover after the pods recovered. Those warnings and errors go with the question.
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
@ -150,8 +124,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|||||||
- The navigator adds admission policies, CSI objects, API services, flow schemas, priority levels, and dynamic resource allocation types. Custom resource tables use the CRD `additionalPrinterColumns`.
|
- The navigator adds admission policies, CSI objects, API services, flow schemas, priority levels, and dynamic resource allocation types. Custom resource tables use the CRD `additionalPrinterColumns`.
|
||||||
- A list can send a label selector with the API request.
|
- A list can send a label selector with the API request.
|
||||||
- YAML apply falls back to create or replace when the API server rejects an apply patch.
|
- YAML apply falls back to create or replace when the API server rejects an apply patch.
|
||||||
- Settings -> AI sets the local Ollama endpoint and model. Chat stays read-only unless the agent is enabled; restart, pod delete, scale, and apply then wait for a confirmation.
|
- Settings → AI sets the local Ollama endpoint and model. Chat stays read-only unless the agent is enabled; restart, pod delete, scale, and apply then wait for a confirmation.
|
||||||
- Help -> About shows the product, license, and contact.
|
- Help → About shows the product, license, and contact.
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
@ -178,7 +152,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Help -> Logs shows the app log and crash reports, and an unhandled error opens a copyable debug window instead of closing the app.
|
- Help → Logs shows the app log and crash reports, and an unhandled error opens a copyable debug window instead of closing the app.
|
||||||
- YAML view, volume files, and ConfigMap/Secret values highlight as JSON or YAML. A data key or file name uses its extension (`.json`, `.yaml`, `.yml`); a key without one stays plain. The resource YAML tab is always YAML.
|
- YAML view, volume files, and ConfigMap/Secret values highlight as JSON or YAML. A data key or file name uses its extension (`.json`, `.yaml`, `.yml`); a key without one stays plain. The resource YAML tab is always YAML.
|
||||||
- Services table includes Status: Active when the load-balancer address is assigned, Pending when none is set, and Unreachable when a BGP or requested address is not the one in `status.loadBalancer.ingress` (or Cilium IPAM reports it unsatisfied).
|
- Services table includes Status: Active when the load-balancer address is assigned, Pending when none is set, and Unreachable when a BGP or requested address is not the one in `status.loadBalancer.ingress` (or Cilium IPAM reports it unsatisfied).
|
||||||
|
|
||||||
@ -245,7 +219,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|||||||
- **Applications** table shows live **CPU** (% of cluster allocatable) and **Memory** (k8s `Mi`/`Gi`) from summed pod metrics when metrics-server is available.
|
- **Applications** table shows live **CPU** (% of cluster allocatable) and **Memory** (k8s `Mi`/`Gi`) from summed pod metrics when metrics-server is available.
|
||||||
- **Deployments**, **StatefulSets**, and **DaemonSets** tables include **CPU** and **Memory** columns (millicores / `MiB`, summed from owned pods).
|
- **Deployments**, **StatefulSets**, and **DaemonSets** tables include **CPU** and **Memory** columns (millicores / `MiB`, summed from owned pods).
|
||||||
- Applications metric **tooltips**: CPU in millicores; memory as `MiB` plus rounded `MB`.
|
- Applications metric **tooltips**: CPU in millicores; memory as `MiB` plus rounded `MB`.
|
||||||
- Applications pod attribution matches instance labels, direct workload owners, and **ReplicaSet -> Deployment** owners.
|
- Applications pod attribution matches instance labels, direct workload owners, and **ReplicaSet → Deployment** owners.
|
||||||
- Transient Kubernetes API errors (for example HTTP/2 `ResponseEnded`) retry automatically; the client uses HTTP/1.1 for list traffic.
|
- Transient Kubernetes API errors (for example HTTP/2 `ResponseEnded`) retry automatically; the client uses HTTP/1.1 for list traffic.
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
@ -300,12 +274,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|||||||
|
|
||||||
- Status-bar messages for port-forward start, stop, restore, and failure.
|
- Status-bar messages for port-forward start, stop, restore, and failure.
|
||||||
- Local / Remote labels on the port-forward bar so the two port fields are explicit.
|
- Local / Remote labels on the port-forward bar so the two port fields are explicit.
|
||||||
- Rebind the host port of an existing forward from **Network -> Port Forwarding** (Local field + Rebind).
|
- Rebind the host port of an existing forward from **Network → Port Forwarding** (Local field + Rebind).
|
||||||
- Double-click a live port-forward in **Network -> Port Forwarding** to open `http://127.0.0.1:{local}` in the default browser.
|
- Double-click a live port-forward in **Network → Port Forwarding** to open `http://127.0.0.1:{local}` in the default browser.
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- Active port-forwards are listed in **Network -> Port Forwarding** (stop from the table). They are no longer shown in the status bar.
|
- Active port-forwards are listed in **Network → Port Forwarding** (stop from the table). They are no longer shown in the status bar.
|
||||||
- Resource table footer, YAML/Data edit bars, and workload limit apply buttons show only for a selected row that can use them. Empty toolbars are hidden.
|
- Resource table footer, YAML/Data edit bars, and workload limit apply buttons show only for a selected row that can use them. Empty toolbars are hidden.
|
||||||
- Enabled port-forwards are saved in `appsettings.json` (`Configuration:PortForwards`) and restored when a cluster reconnects.
|
- Enabled port-forwards are saved in `appsettings.json` (`Configuration:PortForwards`) and restored when a cluster reconnects.
|
||||||
|
|
||||||
|
|||||||
@ -62,7 +62,7 @@ Store listing copy:
|
|||||||
|
|
||||||
### System requirements (Properties)
|
### System requirements (Properties)
|
||||||
|
|
||||||
Partner Center -> **Properties** -> **System requirements**. A blank cell stays unset. Minimum is what the Store may warn on; Recommended does not warn.
|
Partner Center → **Properties** → **System requirements**. A blank cell stays unset. Minimum is what the Store may warn on; Recommended does not warn.
|
||||||
|
|
||||||
The app is a win-x64 desktop console (tables, YAML, terminal). It does not use a camera, microphone, radio, gamepad, or a specific GPU.
|
The app is a win-x64 desktop console (tables, YAML, terminal). It does not use a camera, microphone, radio, gamepad, or a specific GPU.
|
||||||
|
|
||||||
|
|||||||
64
README.md
@ -4,14 +4,14 @@
|
|||||||

|

|
||||||

|

|
||||||

|

|
||||||
[](LICENSE.md)
|

|
||||||

|

|
||||||
|
|
||||||
**MaksIT Cluster Console** is a native desktop app for a Kubernetes cluster you already run. Browse the API, apply YAML, follow logs, open a shell, and port-forward to localhost.
|
**MaksIT Cluster Console** is a native desktop app for a Kubernetes cluster you already run. Browse the API, apply YAML, follow logs, open a shell, and port-forward to localhost.
|
||||||
|
|
||||||
- Your kubeconfig and its RBAC are the access path. Click a catalog row to connect that context in this app. The radio writes kubectl `current-context` for the command line. This app does not read that field. Several contexts can stay connected.
|
- Your kubeconfig and its RBAC are the access path. Click a catalog row to connect that context in this app. The radio writes kubectl `current-context` for the command line. This app does not read that field. Several contexts can stay connected.
|
||||||
- Helm, Dapr, and Longhorn screens view and operate what is already installed. They do not install those systems.
|
- Helm, Dapr, and Longhorn screens view and operate what is already installed. They do not install those systems.
|
||||||
- **Cloud...** adds Google, Azure, Amazon, Oracle, DigitalOcean, or IBM by running that provider's CLI. **S3 Browser** opens a Longhorn backup target.
|
- **Cloud…** adds Google, Azure, Amazon, Oracle, DigitalOcean, or IBM by running that provider's CLI. **S3 Browser** opens a Longhorn backup target.
|
||||||
- Chat is optional local [Ollama](https://ollama.com). It is read-only by default. With changes allowed, each restart, pod delete, scale, and apply waits for Approve.
|
- Chat is optional local [Ollama](https://ollama.com). It is read-only by default. With changes allowed, each restart, pod delete, scale, and apply waits for Approve.
|
||||||
- Windows, Linux, and macOS. [Apache 2.0](LICENSE.md).
|
- Windows, Linux, and macOS. [Apache 2.0](LICENSE.md).
|
||||||
|
|
||||||
@ -48,29 +48,28 @@ If you find this project useful, please consider supporting its development:
|
|||||||
|
|
||||||
Each line links to the screen notes in [docs/features.md](docs/features.md).
|
Each line links to the screen notes in [docs/features.md](docs/features.md).
|
||||||
|
|
||||||
- [Cluster overview](docs/features.md#cluster-overview) - version, node count, CPU, memory, and pod charts, plus errors and warnings.
|
- [Cluster overview](docs/features.md#cluster-overview) — version, node count, CPU, memory, and pod charts, plus errors and warnings.
|
||||||
- [Applications](docs/features.md#applications) - one row per app instance and namespace, with ready, CPU, and memory.
|
- [Applications](docs/features.md#applications) — one row per app instance and namespace, with ready, CPU, and memory.
|
||||||
- [Pods](docs/features.md#pods) - logs, shell, attach, a debug container, and port-forward.
|
- [Pods](docs/features.md#pods) — logs, shell, attach, a debug container, and port-forward.
|
||||||
- [Chat](docs/features.md#chat) - local Ollama on the overview or the selection. Read-only by default.
|
- [Chat](docs/features.md#chat) — local Ollama on the overview or the selection. Read-only by default.
|
||||||
- [Full screen and screen saver](docs/features.md#full-screen-and-screen-saver) - F11 full screen, and optional idle bubbles while full screen.
|
- [Volume files](docs/features.md#volume-files) — browse, edit, download, and upload files on a PV or claim.
|
||||||
- [Volume files](docs/features.md#volume-files) - browse, edit, download, and upload files on a PV or claim.
|
- [Dapr](docs/features.md#dapr) — components, configurations, subscriptions, sidecars, and the control plane.
|
||||||
- [Dapr](docs/features.md#dapr) - components, configurations, subscriptions, sidecars, and the control plane.
|
- [Port forwarding](docs/features.md#port-forwarding) — saved tunnels that restore on reconnect and open in the browser.
|
||||||
- [Port forwarding](docs/features.md#port-forwarding) - saved tunnels that restore on reconnect and open in the browser.
|
- [Connections](docs/features.md#connections) — the kubeconfig on disk, **Add…**, and **Cloud…** for six providers.
|
||||||
- [Connections](docs/features.md#connections) - the kubeconfig on disk, **Add...**, and **Cloud...** for six providers.
|
- [Navigator](docs/features.md#navigator) — cluster through custom resources. Longhorn and CloudNativePG appear when those APIs are installed.
|
||||||
- [Navigator](docs/features.md#navigator) - cluster through custom resources. Longhorn and CloudNativePG appear when those APIs are installed.
|
- [Longhorn](docs/features.md#longhorn) — attach, detach, recurring jobs, backups, and S3 Browser. Does not install Longhorn.
|
||||||
- [Longhorn](docs/features.md#longhorn) - attach, detach, recurring jobs, backups, and S3 Browser. Does not install Longhorn.
|
- [Tables](docs/features.md#tables) — watch, search, label selector, and a footer action on the selection.
|
||||||
- [Tables](docs/features.md#tables) - watch, search, label selector, and a footer action on the selection.
|
- [YAML](docs/features.md#yaml) — view, apply, create, and delete.
|
||||||
- [YAML](docs/features.md#yaml) - view, apply, create, and delete.
|
- [Workloads](docs/features.md#workloads) — scale, restart, rollout, and a CronJob trigger.
|
||||||
- [Workloads](docs/features.md#workloads) - scale, restart, rollout, and a CronJob trigger.
|
- [Nodes](docs/features.md#nodes) — cordon, uncordon, and drain, with a preview of which pods move.
|
||||||
- [Nodes](docs/features.md#nodes) - cordon, uncordon, and drain, with a preview of which pods move.
|
- [Config](docs/features.md#config) — ConfigMaps, Secrets, quotas, autoscaling, and admission.
|
||||||
- [Config](docs/features.md#config) - ConfigMaps, Secrets, quotas, autoscaling, and admission.
|
- [Network](docs/features.md#network) — Services, ingress, and policies. A load balancer is Active, Pending, or Unreachable.
|
||||||
- [Network](docs/features.md#network) - Services, ingress, and policies. A load balancer is Active, Pending, or Unreachable.
|
- [Storage](docs/features.md#storage) — resize a claim, change reclaim policy, and browse volume files.
|
||||||
- [Storage](docs/features.md#storage) - resize a claim, change reclaim policy, and browse volume files.
|
- [Access](docs/features.md#access) — approve a certificate signing request, and create a ServiceAccount token shown once.
|
||||||
- [Access](docs/features.md#access) - approve a certificate signing request, and create a ServiceAccount token shown once.
|
- [Custom resources](docs/features.md#custom-resources) — extra columns from the CRD.
|
||||||
- [Custom resources](docs/features.md#custom-resources) - extra columns from the CRD.
|
- [Helm](docs/features.md#helm) — installed charts, revision history, and a values diff. Install and upgrade stay on the Helm CLI.
|
||||||
- [Helm](docs/features.md#helm) - installed charts, revision history, and a values diff. Install and upgrade stay on the Helm CLI.
|
- [Metrics](docs/features.md#metrics) — CPU and memory from metrics-server.
|
||||||
- [Metrics](docs/features.md#metrics) - CPU and memory from metrics-server.
|
- [Help](docs/features.md#help) — Hint on the kind, the app log, a copyable crash window, and What's New.
|
||||||
- [Help](docs/features.md#help) - Hint on the kind, the app log, a copyable crash window, and What's New.
|
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
@ -123,17 +122,14 @@ Operator layout, open clusters, port-forwards, and Chat settings are stored in `
|
|||||||
|
|
||||||
| Key | Role |
|
| Key | Role |
|
||||||
|-----|------|
|
|-----|------|
|
||||||
| `AiEnabled` | Chat tab. Off until enabled under Settings -> AI |
|
| `AiEnabled` | Chat tab. Off until enabled under Settings → AI |
|
||||||
| `AiAgentEnabled` | With chat on, restart, pod delete, scale, and apply run only after you approve each one |
|
| `AiAgentEnabled` | With chat on, restart, pod delete, scale, and apply run only after you approve each one |
|
||||||
| `OllamaEndpoint` | Local Ollama API, default `http://127.0.0.1:11434` |
|
| `OllamaEndpoint` | Local Ollama API, default `http://127.0.0.1:11434` |
|
||||||
| `OllamaModel` | Local Ollama model, default `qwen3:8b`. A larger model (`qwen3:14b`, `qwen3:32b`, `qwen3-coder:30b`) is a better fit once changes are allowed |
|
| `OllamaModel` | Local Ollama model, default `qwen3:8b`. A larger model (`qwen3:14b`, `qwen3:32b`, `qwen3-coder:30b`) is a better fit once changes are allowed |
|
||||||
| `OllamaTimeoutSeconds` | How long one Chat reply may run, in seconds. Default 240. Settings -> AI shows this as Timeout |
|
| `OllamaTimeoutSeconds` | How long one Chat reply may run, in seconds. Default 240. Settings → AI shows this as Timeout |
|
||||||
| `ScreenSaver` | Bubbles overlay while full screen is idle. `Enabled` (off by default) and `IdleMinutes` (default 5). Settings -> Screen saver |
|
|
||||||
| `PortForwards` | Enabled localhost forwards; restored on reconnect |
|
| `PortForwards` | Enabled localhost forwards; restored on reconnect |
|
||||||
| `Layout` | Window, panes, last navigator item, per-cluster tables |
|
| `Layout` | Window, panes, last navigator item, per-cluster tables |
|
||||||
|
|
||||||
**View -> Full screen** or **F11** fills the display. **Escape** leaves full screen. When the screen saver is on, idle only while full screen shows translucent bubbles over the live UI; the first mouse or key press clears the bubbles and keeps full screen. Full screen is not restored on the next launch.
|
|
||||||
|
|
||||||
Chat stays read-only until **Allow the assistant to change the cluster** is on. Those changes still wait for Approve. The model box accepts any local Ollama model; larger models handle restart, scale, delete, and apply more reliably than `qwen3:8b`.
|
Chat stays read-only until **Allow the assistant to change the cluster** is on. Those changes still wait for Approve. The model box accepts any local Ollama model; larger models handle restart, scale, delete, and apply more reliably than `qwen3:8b`.
|
||||||
|
|
||||||
## FAQ
|
## FAQ
|
||||||
@ -145,13 +141,13 @@ Yes. It is a native desktop Kubernetes GUI (operator console) for Windows, Linux
|
|||||||
Yes. `KUBECONFIG` or `~/.kube/config`. RBAC is whatever that identity already has. Clicking a catalog row connects that context in this app. The radio only writes kubectl `current-context` so your command line can use the same cluster. This app does not read that field.
|
Yes. `KUBECONFIG` or `~/.kube/config`. RBAC is whatever that identity already has. Clicking a catalog row connects that context in this app. The radio only writes kubectl `current-context` so your command line can use the same cluster. This app does not read that field.
|
||||||
|
|
||||||
**Does Chat send cluster data to a cloud AI?**
|
**Does Chat send cluster data to a cloud AI?**
|
||||||
No. Chat is optional [Ollama](https://ollama.com) on the same machine. The model is whatever you set under Settings -> AI. By default the tools only read issues, YAML, logs, and events. Turn on **Allow the assistant to change the cluster** and the same chat can restart, delete a pod, scale, or apply YAML, each after you approve it. A larger local model is the better choice for that.
|
No. Chat is optional [Ollama](https://ollama.com) on the same machine. The model is whatever you set under Settings → AI. By default the tools only read issues, YAML, logs, and events. Turn on **Allow the assistant to change the cluster** and the same chat can restart, delete a pod, scale, or apply YAML, each after you approve it. A larger local model is the better choice for that.
|
||||||
|
|
||||||
**Can Flatpak run a cloud exec plugin?**
|
**Can Flatpak run a cloud exec plugin?**
|
||||||
Yes. **Download CLI** installs gcloud, az, aws, oci, doctl, ibmcloud, or kubelogin into the app. The sandbox starts that copy, including the exec plugin a kubeconfig names. A CLI installed on the host is not visible inside the sandbox. A certificate or token needs no CLI.
|
Yes. **Download CLI** installs gcloud, az, aws, oci, doctl, ibmcloud, or kubelogin into the app. The sandbox starts that copy, including the exec plugin a kubeconfig names. A CLI installed on the host is not visible inside the sandbox. A certificate or token needs no CLI.
|
||||||
|
|
||||||
**Does it have a Cloud window and an S3 browser?**
|
**Does it have a Cloud window and an S3 browser?**
|
||||||
Yes. **Cloud...** adds Google, Azure, Amazon, Oracle, DigitalOcean, or IBM by running that provider's CLI, which writes the API server, certificate, and login. **S3 Browser**, under Longhorn, opens the default backup target and any other S3 targets.
|
Yes. **Cloud…** adds Google, Azure, Amazon, Oracle, DigitalOcean, or IBM by running that provider's CLI, which writes the API server, certificate, and login. **S3 Browser**, under Longhorn, opens the default backup target and any other S3 targets.
|
||||||
|
|
||||||
**Can it install a cluster, Helm charts, Dapr, or Longhorn?**
|
**Can it install a cluster, Helm charts, Dapr, or Longhorn?**
|
||||||
No. It talks to an existing Kubernetes API. Helm, Dapr, and Longhorn screens view and operate objects that are already there. They do not install those systems. Adding a Longhorn backup target writes that target and its credential secret. S3 Browser opens a target those credentials can already reach.
|
No. It talks to an existing Kubernetes API. Helm, Dapr, and Longhorn screens view and operate objects that are already there. They do not install those systems. Adding a Longhorn backup target writes that target and its credential secret. S3 Browser opens a target those credentials can already reach.
|
||||||
@ -169,11 +165,11 @@ Or `dotnet test MaksIT.ClusterConsole.Tests` from `src/`. Tests use kubeconfig f
|
|||||||
|
|
||||||
## Scope
|
## Scope
|
||||||
|
|
||||||
Desktop operator console for the Kubernetes API. Not a CLI, cluster installer, GitOps, or secret-management system. Helm, Dapr, and Longhorn screens view and operate objects already in the cluster. They do not install those systems. Adding a Longhorn backup target writes that target and its credential secret. **Cloud...** writes a kubeconfig context by running a provider CLI. **S3 Browser** opens a Longhorn backup target.
|
Desktop operator console for the Kubernetes API. Not a CLI, cluster installer, GitOps, or secret-management system. Helm, Dapr, and Longhorn screens view and operate objects already in the cluster. They do not install those systems. Adding a Longhorn backup target writes that target and its credential secret. **Cloud…** writes a kubeconfig context by running a provider CLI. **S3 Browser** opens a Longhorn backup target.
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
Apache 2.0 - see [LICENSE.md](LICENSE.md).
|
Apache 2.0 — see [LICENSE.md](LICENSE.md).
|
||||||
|
|
||||||
© Maksym Sadovnychyy (MAKS-IT)
|
© Maksym Sadovnychyy (MAKS-IT)
|
||||||
|
|
||||||
|
|||||||
17
WHATSNEW.md
@ -2,23 +2,6 @@
|
|||||||
|
|
||||||
Short notes shown in the app after an upgrade. The full history, including maintainer notes, is [CHANGELOG.md](CHANGELOG.md).
|
Short notes shown in the app after an upgrade. The full history, including maintainer notes, is [CHANGELOG.md](CHANGELOG.md).
|
||||||
|
|
||||||
## [Unreleased]
|
|
||||||
|
|
||||||
## [0.9.3] - 2026-11-03
|
|
||||||
|
|
||||||
- The mouse pointer is hidden while the bubbles screen saver is showing.
|
|
||||||
|
|
||||||
## [0.9.2] - 2026-11-02
|
|
||||||
|
|
||||||
- View -> Full screen or F11 fills the display. Escape leaves full screen.
|
|
||||||
- Settings -> Screen saver can show translucent bubbles after idle while full screen, so the console stays visible on a wall display.
|
|
||||||
|
|
||||||
## [0.9.1] - 2026-10-31
|
|
||||||
|
|
||||||
- The cluster catalog can collapse to a Connections rail, the same way the details pane collapses. The choice is kept.
|
|
||||||
- Overview charts show usage sooner. Leaving a watched table open no longer lists every pod every few seconds.
|
|
||||||
- The Linux Flatpak no longer ships kubelogin. Download CLI installs it into the app with the other cloud CLIs.
|
|
||||||
|
|
||||||
## [0.9.0] - 2026-10-21
|
## [0.9.0] - 2026-10-21
|
||||||
|
|
||||||
- S3 Browser, under Longhorn, opens the default backup target and any other S3 targets. It lists every bucket those credentials can see, and opens, uploads, downloads, and edits objects.
|
- S3 Browser, under Longhorn, opens the default backup target and any other S3 targets. It lists every bucket those credentials can see, and opens, uploads, downloads, and edits objects.
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 102 KiB After Width: | Height: | Size: 103 KiB |
|
Before Width: | Height: | Size: 138 KiB After Width: | Height: | Size: 139 KiB |
|
Before Width: | Height: | Size: 104 KiB After Width: | Height: | Size: 104 KiB |
|
Before Width: | Height: | Size: 107 KiB After Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 172 KiB After Width: | Height: | Size: 73 KiB |
|
Before Width: | Height: | Size: 136 KiB After Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 112 KiB After Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 164 KiB After Width: | Height: | Size: 173 KiB |
|
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 142 KiB After Width: | Height: | Size: 142 KiB |
|
Before Width: | Height: | Size: 202 KiB After Width: | Height: | Size: 202 KiB |
|
Before Width: | Height: | Size: 143 KiB After Width: | Height: | Size: 143 KiB |
|
Before Width: | Height: | Size: 124 KiB After Width: | Height: | Size: 125 KiB |
|
Before Width: | Height: | Size: 188 KiB After Width: | Height: | Size: 189 KiB |
|
Before Width: | Height: | Size: 126 KiB After Width: | Height: | Size: 126 KiB |
|
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 152 KiB After Width: | Height: | Size: 124 KiB |
|
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 140 KiB After Width: | Height: | Size: 140 KiB |
|
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 170 KiB After Width: | Height: | Size: 170 KiB |
|
Before Width: | Height: | Size: 133 KiB After Width: | Height: | Size: 133 KiB |
|
Before Width: | Height: | Size: 169 KiB After Width: | Height: | Size: 170 KiB |
|
Before Width: | Height: | Size: 137 KiB After Width: | Height: | Size: 133 KiB |
|
Before Width: | Height: | Size: 73 KiB After Width: | Height: | Size: 72 KiB |
|
Before Width: | Height: | Size: 152 KiB After Width: | Height: | Size: 152 KiB |
|
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 140 KiB After Width: | Height: | Size: 144 KiB |
|
Before Width: | Height: | Size: 233 KiB After Width: | Height: | Size: 237 KiB |
|
Before Width: | Height: | Size: 138 KiB After Width: | Height: | Size: 145 KiB |
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 73 KiB |
|
Before Width: | Height: | Size: 144 KiB After Width: | Height: | Size: 144 KiB |
|
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 65 KiB |
|
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 62 KiB |
|
Before Width: | Height: | Size: 119 KiB After Width: | Height: | Size: 118 KiB |
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 58 KiB |
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 67 KiB |
|
Before Width: | Height: | Size: 119 KiB After Width: | Height: | Size: 119 KiB |
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 150 KiB After Width: | Height: | Size: 151 KiB |
|
Before Width: | Height: | Size: 228 KiB After Width: | Height: | Size: 229 KiB |
|
Before Width: | Height: | Size: 149 KiB After Width: | Height: | Size: 150 KiB |
|
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 82 KiB |
|
Before Width: | Height: | Size: 155 KiB After Width: | Height: | Size: 158 KiB |
|
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 89 KiB |
|
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 87 KiB |
|
Before Width: | Height: | Size: 146 KiB After Width: | Height: | Size: 145 KiB |
|
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 102 KiB After Width: | Height: | Size: 101 KiB |
|
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 107 KiB |
|
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 106 KiB |
|
Before Width: | Height: | Size: 182 KiB After Width: | Height: | Size: 181 KiB |
|
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 90 KiB |
|
Before Width: | Height: | Size: 129 KiB After Width: | Height: | Size: 122 KiB |
|
Before Width: | Height: | Size: 189 KiB After Width: | Height: | Size: 188 KiB |
|
Before Width: | Height: | Size: 128 KiB After Width: | Height: | Size: 128 KiB |
|
Before Width: | Height: | Size: 222 KiB After Width: | Height: | Size: 222 KiB |
|
Before Width: | Height: | Size: 110 KiB After Width: | Height: | Size: 110 KiB |
|
Before Width: | Height: | Size: 138 KiB After Width: | Height: | Size: 138 KiB |
|
Before Width: | Height: | Size: 143 KiB After Width: | Height: | Size: 143 KiB |
|
Before Width: | Height: | Size: 141 KiB After Width: | Height: | Size: 141 KiB |
|
Before Width: | Height: | Size: 142 KiB After Width: | Height: | Size: 142 KiB |
|
Before Width: | Height: | Size: 207 KiB After Width: | Height: | Size: 207 KiB |
|
Before Width: | Height: | Size: 128 KiB After Width: | Height: | Size: 128 KiB |
|
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 120 KiB |
|
Before Width: | Height: | Size: 203 KiB After Width: | Height: | Size: 204 KiB |
|
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 119 KiB |
|
Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 135 KiB |
|
Before Width: | Height: | Size: 227 KiB After Width: | Height: | Size: 227 KiB |
|
Before Width: | Height: | Size: 138 KiB After Width: | Height: | Size: 134 KiB |
|
Before Width: | Height: | Size: 208 KiB After Width: | Height: | Size: 261 KiB |
|
Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 174 KiB |
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 142 KiB After Width: | Height: | Size: 145 KiB |
|
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 88 KiB |
|
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 86 KiB |
|
Before Width: | Height: | Size: 109 KiB After Width: | Height: | Size: 112 KiB |
|
Before Width: | Height: | Size: 160 KiB After Width: | Height: | Size: 149 KiB |
|
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 139 KiB |
|
Before Width: | Height: | Size: 188 KiB After Width: | Height: | Size: 160 KiB |
|
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 88 KiB |
|
Before Width: | Height: | Size: 146 KiB After Width: | Height: | Size: 146 KiB |
|
Before Width: | Height: | Size: 190 KiB After Width: | Height: | Size: 189 KiB |
|
Before Width: | Height: | Size: 146 KiB After Width: | Height: | Size: 146 KiB |
|
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 95 KiB |
|
Before Width: | Height: | Size: 160 KiB After Width: | Height: | Size: 160 KiB |
|
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 88 KiB |
|
Before Width: | Height: | Size: 99 KiB After Width: | Height: | Size: 98 KiB |
|
Before Width: | Height: | Size: 161 KiB After Width: | Height: | Size: 159 KiB |
|
Before Width: | Height: | Size: 97 KiB After Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 110 KiB After Width: | Height: | Size: 110 KiB |
|
Before Width: | Height: | Size: 158 KiB After Width: | Height: | Size: 158 KiB |