Files
KindClustersDashboard/docker-compose.yml
Sergey Antropoff 02f4c655b9 UI: автообновление, прогресс, отмена; порт 8080; меню-пилюли и отдельные окна
- Порт хоста по умолчанию 8080 (Chrome ERR_UNSAFE_PORT на 6000); compose, setup, config, README.
- Дашборд: одна hero-карточка, прогресс создания, POST /jobs/{id}/cancel, JobView progress_*.
- job_store: отмена и прогресс (thread-safe); cluster_lifecycle этапы и откат.
- Навигация: стили nav-pill; Swagger/ReDoc/Health через window.open.
- main.py: TemplateResponse(request, …) для Starlette.
- Документация: README, app/docs (api_routes, README); Makefile ps; .gitignore clusters.
2026-04-04 05:58:11 +03:00

46 lines
2.2 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Веб-UI kind: том ./clusters, сокет Docker/Podman. Каталог ./app монтируется в контейнер —
# правки Python/шаблонов/static без пересборки образа; uvicorn --reload (см. KIND_K8S_UVICORN_RELOAD).
# Запуск: make docker up
#
# Podman (пример rootless):
# export CONTAINER_SOCKET="$XDG_RUNTIME_DIR/podman/podman.sock"
# make podman up
#
# Автор: Сергей Антропов — https://devops.org.ru
services:
kind-k8s-web:
build:
context: .
dockerfile: Dockerfile
args:
KIND_VERSION: ${KIND_VERSION:-0.24.0}
KUBECTL_VERSION: ${KUBECTL_VERSION:-}
image: kind-k8s-tools:local
volumes:
- ./clusters:/work/clusters
- ${CONTAINER_SOCKET:-/var/run/docker.sock}:/var/run/docker.sock
# Локальная разработка: код с хоста сразу в контейнере (пересборка образа не нужна).
- ./app:/opt/kind-k8s/app
working_dir: /opt/kind-k8s/app
# Хост по умолчанию 8080: порт 6000 в Chrome/Edge даёт ERR_UNSAFE_PORT; внутри контейнера слушает 6000.
ports:
- "${KIND_K8S_WEB_PORT:-8080}:6000"
environment:
DOCKER_HOST: unix:///var/run/docker.sock
KIND_K8S_IN_CONTAINER: "1"
KIND_K8S_WORKDIR: /work
# По умолчанию включено: kubeconfig с хоста открывает API через проброшенный порт.
KIND_K8S_PATCH_KUBECONFIG: ${KIND_K8S_PATCH_KUBECONFIG:-1}
CONTAINER_CLI: ${CONTAINER_CLI:-docker}
KIND_K8S_SKIP_VERSION_LIST: ${KIND_K8S_SKIP_VERSION_LIST:-}
KIND_K8S_VERSION_LIST_DISPLAY: ${KIND_K8S_VERSION_LIST_DISPLAY:-}
KIND_K8S_HUB_TAGS_MAX_PAGES: ${KIND_K8S_HUB_TAGS_MAX_PAGES:-}
KIND_K8S_DEBUG: ${KIND_K8S_DEBUG:-}
KIND_K8S_WAIT_NODES: ${KIND_K8S_WAIT_NODES:-}
KIND_K8S_WAIT_NODES_TIMEOUT_SEC: ${KIND_K8S_WAIT_NODES_TIMEOUT_SEC:-}
KIND_K8S_APP_TITLE: ${KIND_K8S_APP_TITLE:-}
# 1 — uvicorn --reload (изменения в ./app); 0 — один процесс без reload.
KIND_K8S_UVICORN_RELOAD: ${KIND_K8S_UVICORN_RELOAD:-1}
command: ["/opt/kind-k8s/run_uvicorn.sh"]