Веб-UI кластера: страница деталей, kubectl по карточкам, мета 3 колонки
- Страница /cluster/<имя>: сводка, ресурсы узлов полосами, отдельные карточки на каждый kubectl get … -o json, рестарт пода. - API: overview с блоками k8s_*, POST pods/restart, расширенный набор ресурсов (-A). - Панель: спиннер загрузки, правки дашборда и стилей; документация api_routes, compose и прочие сопутствующие изменения.
This commit is contained in:
@@ -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()
|
||||
Reference in New Issue
Block a user