Files
KindClustersDashboard/app/templates/base.html
T
Sergey Antropoff e46a62cfdb Веб-UI FastAPI, REST API v1, интерактивный setup без env.example
- Дашборд (Jinja2 + static), управление кластерами kind, задания и kubeconfig.
- API: health, stats, clusters CRUD, versions, jobs; документация app/docs/api_routes.md.
- Docker Compose: том app, uvicorn reload, KIND_K8S_PATCH_KUBECONFIG по умолчанию 1.
- setup_env_interactive.py: список переменных в скрипте, удалён env.example.
- Makefile: явный префикс docker/podman; прочие правки CLI и ядра кластеров.
2026-04-04 05:39:53 +03:00

50 lines
1.8 KiB
HTML

{# Общий каркас страниц веб-интерфейса kind-k8s-develop.
Автор: Сергей Антропов — https://devops.org.ru #}
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>{% block page_title %}{{ app_title }}{% endblock %} — kind</title>
<link rel="stylesheet" href="/static/style.css" />
{% block head_extra %}{% endblock %}
</head>
<body
class="app-body"
data-api-base="/api/v1"
data-app-title="{{ app_title | e }}"
>
<a class="skip-link" href="#main-content">К основному содержимому</a>
<header class="top-nav" role="banner">
<div class="top-nav-inner">
<div class="nav-brand">
<span class="nav-logo" aria-hidden="true"></span>
<span class="nav-title">{{ app_title }}</span>
<span class="nav-tag muted">kind · локальные кластеры</span>
</div>
<nav class="nav-links" aria-label="Разделы">
<a href="/" class="nav-link">Панель</a>
<a href="/docs" class="nav-link" target="_blank" rel="noopener">Swagger</a>
<a href="/redoc" class="nav-link" target="_blank" rel="noopener">ReDoc</a>
<a href="/api/v1/health" class="nav-link" target="_blank" rel="noopener">Health</a>
</nav>
</div>
</header>
<div id="toast" class="toast hidden" role="status" aria-live="polite"></div>
<main id="main-content" class="app-main" tabindex="-1">
{% block content %}{% endblock %}
</main>
<footer class="footer muted app-footer">
{% block footer %}
<span>Данные: том <code>clusters/</code> на хосте · <code>app/docs/api_routes.md</code></span>
{% endblock %}
</footer>
{% block scripts %}{% endblock %}
</body>
</html>