Панель: редактирование конфига кластера, reapply при старте, UI и таблица

- PUT/GET конфигурации кластера, страница редактирования и модалка после сохранения
- После смены kind-config: флаг в meta и start_cluster_reapply (kind delete + create)
- Старт/стоп: полноэкранный спиннер до завершения job; модалки и документация API
- Таблица кластеров: колонка Имя 40% при table-layout fixed; чекбоксы без width 100%
- Карточки ресурсов узлов на странице кластера: до 3 в ряд; прочие правки стилей и dashboard.js
This commit is contained in:
Sergey Antropoff
2026-04-04 10:49:40 +03:00
parent af0d1705cc
commit 52538d9816
14 changed files with 2571 additions and 137 deletions
+19 -18
View File
@@ -11,22 +11,6 @@
<div class="modal-head modal-head--cluster">
<h3 id="modal-title" class="modal-title-text modal-title-text--center">Состояние кластера</h3>
<div class="modal-toolbar" role="toolbar" aria-label="Действия в окне">
<div id="modal-dl-wrap" class="modal-dl-wrap hidden">
<span
class="icon-tooltip-host"
data-tooltip="Скачать kubeconfig для использования с kubectl на хосте"
>
<button
type="button"
class="icon-btn"
id="modal-btn-kubeconfig"
aria-label="Скачать kubeconfig для kubectl на хосте"
>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" y1="15" x2="12" y2="3"/></svg>
</button>
</span>
<span class="muted modal-dl-hint">kubeconfig</span>
</div>
<button type="button" class="modal-close btn-secondary" id="modal-close">Закрыть</button>
</div>
</div>
@@ -36,9 +20,9 @@
</div>
<p id="modal-sub" class="muted modal-sub"></p>
<h4 class="modal-section-title muted">Узлы</h4>
<pre id="modal-nodes" class="mono" role="region" aria-label="Вывод kubectl get nodes"></pre>
<pre id="modal-nodes" class="mono" role="region" aria-label="Список узлов"></pre>
<h4 class="modal-section-title muted">Поды (все namespace)</h4>
<pre id="modal-pods" class="mono" role="region" aria-label="Вывод kubectl get pods"></pre>
<pre id="modal-pods" class="mono" role="region" aria-label="Список подов"></pre>
</div>
</div>
@@ -87,3 +71,20 @@
</div>
</div>
</div>
{# Полноэкранный спиннер на время фонового старта/стопа узлов (главная и страница кластера). #}
<div
id="cluster-lifecycle-job-overlay"
class="page-loading-overlay cluster-lifecycle-job-overlay hidden"
role="status"
aria-live="polite"
aria-busy="false"
aria-hidden="true"
aria-label="Операция с кластером"
>
<div class="page-loading-backdrop" aria-hidden="true"></div>
<div class="page-loading-center">
<span class="spinner page-loading-spinner" aria-hidden="true"></span>
<span id="cluster-lifecycle-job-label" class="page-loading-label"></span>
</div>
</div>