Веб-UI кластера: страница деталей, kubectl по карточкам, мета 3 колонки

- Страница /cluster/<имя>: сводка, ресурсы узлов полосами, отдельные карточки на каждый kubectl get … -o json, рестарт пода.
- API: overview с блоками k8s_*, POST pods/restart, расширенный набор ресурсов (-A).
- Панель: спиннер загрузки, правки дашборда и стилей; документация api_routes, compose и прочие сопутствующие изменения.
This commit is contained in:
Sergey Antropoff
2026-04-04 09:13:08 +03:00
parent 4546f50aef
commit af0d1705cc
17 changed files with 2605 additions and 208 deletions
+34
View File
@@ -0,0 +1,34 @@
#!/usr/bin/env python3
"""Печать пути kubeconfig с подстановкой apiserver для kubectl из контейнера веб-UI.
Совпадает с логикой ``kubeconfig_path_for_container_kubectl`` (шлюз хоста + порт).
Автор: Сергей Антропов
Сайт: https://devops.org.ru
"""
from __future__ import annotations
import sys
from pathlib import Path
# Запуск из каталога app/ (рабочий каталог контейнера).
from kind_k8s_paths import clusters_dir
from kubeconfig_patch import kubeconfig_path_for_container_kubectl
def main() -> None:
if len(sys.argv) != 2:
print("Использование: effective_kubeconfig_path.py <имя_кластера>", file=sys.stderr)
raise SystemExit(2)
name = sys.argv[1].strip()
p = clusters_dir() / name / "kubeconfig"
if not p.is_file():
print(f"Нет файла {p}", file=sys.stderr)
raise SystemExit(1)
resolved = kubeconfig_path_for_container_kubectl(cluster_name=name, kube_source_path=p)
print(resolved, end="")
if __name__ == "__main__":
main()