Веб-интерфейс: страница /clusters, навигация и крошки для кластеров

- Выделена страница списка кластеров, панель упрощена; nav_active и крошки
  ведут в раздел Кластеры; theme.js синхронизирует активную пилюлю по URL.
- Доработки дашборда, аддонов, журнала, стилей и API-документации.
- Поддержка Podman: docker-compose.podman.yml, скрипты сокета; Makefile и env.
This commit is contained in:
Sergey Antropoff
2026-04-04 13:42:21 +03:00
parent 17f6233fd7
commit eb063aec20
38 changed files with 3990 additions and 734 deletions
+10 -25
View File
@@ -1,4 +1,4 @@
{# Главная: создание (CTA), статистика, донаты, таблица кластеров.
{# Главная: CTA, статистика, карточка «Ресурсы узлов» (только донаты); список кластеров на /clusters.
Автор: Сергей Антропов — https://devops.org.ru #}
{% extends "base.html" %}
@@ -36,7 +36,7 @@
<div class="cta-hero-inner">
<h1 class="page-title" id="cta-hero-title">Создать кластер</h1>
<p class="muted page-lead cta-hero-lead">
Кластеры kind, kubeconfig и kubectl — ниже на странице. Данные обновляются автоматически.
Список кластеров, сводка по узлам и действия — на странице <a href="/clusters">Кластеры</a>. Данные там обновляются автоматически.
</p>
<a href="/cluster-create" class="btn btn-cta-large">Перейти к форме создания</a>
</div>
@@ -53,30 +53,15 @@
</aside>
</div>
<section id="aggregate-donuts-section" class="card aggregate-donuts-card" aria-labelledby="donuts-heading">
<h2 id="donuts-heading" class="donuts-card-title">Ресурсы узлов (сводка)</h2>
<div id="aggregate-donuts" class="aggregate-donuts" aria-live="polite"></div>
</section>
<section class="card clusters-card">
<h2>Кластеры</h2>
<div class="table-wrap">
<table id="tbl-clusters" aria-label="Список кластеров">
<thead>
<tr>
<th class="col-cluster-name">Имя</th>
<th class="col-kind">kind</th>
<th class="col-kubeconfig">kubeconfig</th>
<th class="col-version">Версия</th>
<th class="col-workers">Workers</th>
<th class="col-state">Состояние</th>
<th class="col-actions">Действия</th>
</tr>
</thead>
<tbody></tbody>
</table>
<section
id="home-resources-summary-card"
class="card aggregate-donuts-card home-resources-summary-card"
aria-labelledby="home-resources-summary-heading"
>
<div id="home-resources-summary-wrap" class="home-resources-summary-inner">
<h2 id="home-resources-summary-heading" class="donuts-card-title">Ресурсы узлов (сводка)</h2>
<div id="aggregate-donuts" class="aggregate-donuts" aria-live="polite"></div>
</div>
<p id="list-msg" class="msg muted"></p>
</section>
{% include "partials/dashboard_modals.html" %}