UI: навигация, документация, favicon; журнал развёртывания; валидация формы

- Меню API: ссылка «Теги образов», обёртка прокрутки пилюль, z-index и padding против обрезки hover
- Документация: ширина колонки как у дашборда (72rem)
- Favicon SVG + GET /favicon.ico, link в base.html
- provision_log.json, GET .../provision-log, кнопка в таблице кластеров
- Валидация create: имя, workers, тег kindest; модалка alert
- Прочие правки из сессии (clusters, job_store, стили, шаблоны)
This commit is contained in:
Sergey Antropoff
2026-04-04 08:15:15 +03:00
parent 6f3daa33ec
commit 4546f50aef
19 changed files with 723 additions and 103 deletions
+25 -12
View File
@@ -22,10 +22,10 @@
</section>
<section class="card create-cluster-card">
<h2>Новый кластер</h2>
<h2 class="create-cluster-card__title">Новый кластер</h2>
<form id="form-create" novalidate>
<div class="create-form-grid">
<div class="create-form-col">
<div class="create-form-field">
<label for="fld-name">Имя (a-z0-9-)</label>
<input
id="fld-name"
@@ -36,18 +36,31 @@
placeholder="dev"
autocomplete="off"
/>
<label for="fld-workers">Worker-ноды (020)</label>
<input id="fld-workers" name="workers" type="number" min="0" max="20" value="2" />
</div>
<div class="create-form-col">
<label for="version-select">Тег образа kindest/node (подсказка) или введите версию вручную ниже</label>
<div class="row">
<select id="version-select" name="kubernetes_version_preset" aria-describedby="ver-hint">
<option value="">— загрузить список —</option>
</select>
</div>
<div class="create-form-field">
<label for="version-select">
<a
href="https://hub.docker.com/r/kindest/node/tags"
target="_blank"
rel="noopener noreferrer"
class="create-form-doc-link"
title="Список тегов kindest/node на Docker Hub (новое окно)"
>Тег образа</a><span class="create-form-doc-link__ext" aria-hidden="true"></span>
<span class="create-form-label-rest">
kindest/node — список или версия вручную ниже</span>
</label>
<select id="version-select" name="kubernetes_version_preset">
<option value="">— загрузить список —</option>
</select>
</div>
<div class="create-form-field">
<label for="fld-workers">Worker-ноды (020)</label>
<input id="fld-workers" name="workers" type="number" min="0" max="20" step="1" value="2" />
</div>
<div class="create-form-field">
<label for="kubernetes_version">Версия Kubernetes / тег node</label>
<input
name="kubernetes_version"