diff --git a/CHANGELOG.md b/CHANGELOG.md index b69e2d5..4932ead 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,19 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), ## [Unreleased] +## [0.8.7] - 2026-10-05 + +### 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. + +### Changed + +- The details pane, and the overview chat, can collapse to a narrow rail. The rail reads Chat on the overview and the current kind elsewhere. Opening it restores the previous width. The choice is saved with the layout. +- The Linux Flatpak sandbox no longer requests pulseaudio. The app has no audio. `--share=network` still uses this computer's network, including localhost, so a local cluster API, local Ollama, and a port-forward opened in the browser stay reachable. A kubeconfig login that starts `aws`, `gcloud`, or `kubelogin` cannot start that program from the sandbox. A certificate or token in the kubeconfig is enough. The README and AppStream say so. +- AppStream screenshots stay on tag `v0.8.6`, where those images are stored. The `0.8.7` release entry points at that version's changelog. +- Flathub verification uses the token from the developer portal. The well-known file does not list the application id. + ## [0.8.6] - 2026-10-03 ### Added diff --git a/README.md b/README.md index 4652565..ff8adef 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # MaksIT.ClusterConsole -![Line Coverage](https://img.shields.io/badge/Line%20Coverage-58.7%25-yellowgreen) -![Branch Coverage](https://img.shields.io/badge/Branch%20Coverage-48.1%25-yellowgreen) -![Method Coverage](https://img.shields.io/badge/Method%20Coverage-67.5%25-green) +![Line Coverage](https://img.shields.io/badge/Line%20Coverage-59.2%25-yellowgreen) +![Branch Coverage](https://img.shields.io/badge/Branch%20Coverage-48.7%25-yellowgreen) +![Method Coverage](https://img.shields.io/badge/Method%20Coverage-68.1%25-green) ![.NET](https://img.shields.io/badge/.NET-10-512BD4) ![License](https://img.shields.io/badge/License-Apache%202.0-blue) ![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20Linux%20%7C%20macOS-0078D6) @@ -39,7 +39,7 @@ Click a catalog row to open that context. A green dot is a live session in this ![Cluster catalog](assets/screenshots/welcome.png) -Overview shows CPU, memory, and pod counts from metrics-server. **Resource limits** can patch container CPU/MEM against node capacity. **Cluster** and **Nodes** switch those charts. Errors and Warnings list node, pod, and event problems, a LoadBalancer Service that is Pending or Unreachable, and a PersistentVolumeClaim that is Pending. +Overview shows CPU, memory, and pod counts from metrics-server. **Resource limits** can patch container CPU/MEM against node capacity. **Cluster** and **Nodes** switch those charts. Errors and Warnings list node, pod, and event problems, a LoadBalancer Service that is Pending or Unreachable, and a PersistentVolumeClaim that is Pending. When Settings → AI is on, Chat sits beside those lists and can explain the current warnings and errors. ![Cluster overview](assets/screenshots/overview.png) @@ -65,7 +65,7 @@ Ready, Restarts, Status, Node, CPU, and Memory. Filters and sort persist per clu ### Chat -Settings → AI turns Chat on. The endpoint and model are any local [Ollama](https://ollama.com) model you already pulled. The default is `qwen3:8b`. Reading the cluster is enough with that model. Repairs work better with a larger one: `qwen3:14b`, `qwen3:32b`, or `qwen3-coder:30b`. Put that name in the model box after `ollama pull`. +Settings → AI turns Chat on, on a resource and on the cluster overview. The endpoint and model are any local [Ollama](https://ollama.com) model you already pulled. The default is `qwen3:8b`. Reading the cluster is enough with that model. Repairs work better with a larger one: `qwen3:14b`, `qwen3:32b`, or `qwen3-coder:30b`. Put that name in the model box after `ollama pull`. ![AI settings](assets/screenshots/ai-settings.png) @@ -244,7 +244,7 @@ The previous id `com.maks_it.ClusterConsole` is replaced by this lowercase id. U If GNOME or KDE does not show a launcher icon, `flatpak run` may warn that `/var/lib/flatpak/exports/share` and `~/.local/share/flatpak/exports/share` are not on `XDG_DATA_DIRS`. Log out and back in once so the session picks up those paths. -Linux uses X11/XWayland (Avalonia native Wayland still hangs on GNOME). The sandbox grants `--filesystem=home` for kubeconfig (`~/.kube`). AppStream and the desktop file live in [`data/`](data/). +Linux uses X11/XWayland (Avalonia native Wayland still hangs on GNOME). The sandbox grants `--filesystem=home` for a kubeconfig under the home directory and the certificate files it names. `--share=network` uses this computer's network, including localhost, so a local cluster API, local Ollama, and a port-forward opened in the browser stay reachable. A kubeconfig login that starts a program on this computer (`aws`, `gcloud`, `kubelogin`) cannot start that program from the sandbox. A certificate or token in the kubeconfig is enough. AppStream and the desktop file live in [`data/`](data/). ## Configuration diff --git a/WHATSNEW.md b/WHATSNEW.md index 5d2e042..bfbbb6d 100644 --- a/WHATSNEW.md +++ b/WHATSNEW.md @@ -2,6 +2,11 @@ Short notes shown in the app after an upgrade. The full history, including maintainer notes, is [CHANGELOG.md](CHANGELOG.md). +## [0.8.7] - 2026-10-05 + +- When AI is on, Chat sits on the cluster overview. Analyze issues explains the current warnings and errors. +- The details pane, and the overview chat, can collapse to a rail and open again. The choice is kept. + ## [0.8.6] - 2026-10-03 - The drain dialog can show a short AI note on whether it is safe to continue, which pods will move, and which stay. diff --git a/data/com.maks_it.clusterconsole.metainfo.xml b/data/com.maks_it.clusterconsole.metainfo.xml index 3181c63..89bbee1 100644 --- a/data/com.maks_it.clusterconsole.metainfo.xml +++ b/data/com.maks_it.clusterconsole.metainfo.xml @@ -10,6 +10,7 @@ Apache-2.0

**After installation, point the app at a kubeconfig that can reach a running cluster (KUBECONFIG or ~/.kube/config).**

+

**A login that starts a program on this computer, such as aws, gcloud, or kubelogin, cannot start that program from the sandbox. A certificate or token in the kubeconfig is enough. Localhost on this computer stays reachable, including a local cluster API, local Ollama, and a port-forward opened in the browser.**

Browse a Kubernetes cluster from the desktop using your kubeconfig. Apply YAML, follow logs, exec into pods, and manage port-forwards without a browser.

Settings stay on this computer. Cluster access uses the network and files under the home folder (typically ~/.kube).