Comments 7
а что за гонка с таури-событиями? ну типо три раза одну и ту же?
Ага, одна и та же. У Tauri-событий нет буфера: если бэк начал слать раньше, чем фронт зарезолвил listen(), они теряются. Первый раз словил на модалке аутентификации, она открывалась пустой, потому что kubelogin печатает промпт сразу. Потом то же самое всплыло на логах, потом на watch.
Чинится отложенным стартом: бэк ждёт на oneshot, пока фронт не дёрнет команду «я подписался»
Ура уура
Выглядит интересно, спасибо. Опакетил для ArchLinux.
"Running" – это не "работает", а "kubelet когда-то согласился запустить". Самый честный клиент всё равно наследует устаревшую правду: мёртвый узел ещё несколько минут показывает свои поды живыми.
Сделали. Под на узле с Ready=Unknown больше не рисуется зелёным: текст статуса остаётся kubectl’овский, но цвет уходит в нейтральный, а в подсказке — какой узел молчит и сколько.
Ready=False намеренно не считаем молчанием: узел отвечает, значит статусы его подов свежие. Иначе метка горела бы на каждом нездоровом кластере и перестала бы читаться.
Список узлов читается мягко — если прав на него нет, просто нет метки. Поедет в следующий релиз.
спулил проект и закинул в нейронку для аудита, результат:
По кодовой базе всё максимально чисто и прозрачно:
Телеметрии и трекеров нет вообще — ни Sentry, ни PostHog, ни Google Analytics.
Строгий CSP в Tauri — веб-интерфейсу запрещены любые сторонние сетевые вызовы в обход Rust IPC (
connect-src 'self' ipc:), даже шрифты и иконки зашиты локально в бандл.Сетевая активность строго по делу — запросы идут только в указанный K8s API сервер (через
kube-rs), настроенные вами интеграции (Prometheus/Loki) и стандартные OAuth/OIDC эндпоинты при авторизации.Логи пишутся только локально в stdout/консоль через
tracing.Автоапдейтер стандартный тауривский, ходит на GitHub Releases с проверкой minisign-подписей (при желании отключается в настройках).
Как мы писали Kubernetes-клиент, который старается не врать