feat: infrastructure dashboard (Homepage) generated from the service registry
lint / yamllint + ansible-lint + syntax-check (push) Canceled after 0s
lint / yamllint + ansible-lint + syntax-check (push) Canceled after 0s
playbooks/dashboard.yml deploys Homepage as a second compose stack on the monitoring LXC (CT 155) next to Uptime Kuma and renders its config from homelab_services: one tile per service, link to its UI, grouped by Proxmox node. Adding a service to the registry is enough — no second service list. - new registry consumer: playbooks/dashboard.yml + playbooks/templates/homepage-*.j2 - homelab_dashboard_* vars in group_vars/all/services.yml (top-level, like homelab_reverse_proxy_*); image pinned by digest, floating tag needs an explicit -e dashboard_allow_floating_tag=true - bootstrap-dashboard-pve-token.yml: read-only homepage@pve!dashboard token (PVEAuditor) for the Proxmox widget, secret in the root .env as DASHBOARD_PVE_* - Makefile: dashboard, dry-dashboard, bootstrap-dashboard-token - container binds the LAN address only (192.168.1.30:8082), not published via Caddy - docs: architecture.md Monitoring section, plan.md active task, consumer lists Deployed to CT 155 on 2026-09-03: container healthy, http://192.168.1.30:8082/ returns 200, `make dashboard` idempotent, `make validate` and `make lint` green. Pending operator steps: `make bootstrap-dashboard-token` (blocked in the agent session as credential creation) and an Uptime Kuma status page with slug homelab. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KbuZrUoevfBgCpf5DCF4DG
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
ca48ef2696
commit
05d8c748ab
@@ -19,6 +19,7 @@
|
||||
# * playbooks/pve-backup-jobs.yml — списки VMID заданий по полю `backup.job`.
|
||||
# * roles/backup_audit — VMID по флагу `monitoring.backup_audit_vmid`.
|
||||
# * playbooks/validate.yml — сверка с фактическим состоянием Proxmox.
|
||||
# * playbooks/dashboard.yml — services.yaml для Homepage-обзора инфры.
|
||||
# * Человек — как справочник вместо чтения семи playbook'ов по 200-400 строк.
|
||||
#
|
||||
# Существующие pve-*.yml пока НЕ читают этот реестр: их перевод на
|
||||
@@ -76,6 +77,35 @@ homelab_reverse_proxy_unit: homelab-caddy
|
||||
# Адрес центрального хоста мониторинга (источник scrape для node-exporter).
|
||||
homelab_monitoring_host_ip: 192.168.1.30
|
||||
|
||||
# --- Дашборд-обзор инфраструктуры (Homepage, gethomepage.dev) ----------------
|
||||
# Потребитель реестра: playbooks/dashboard.yml рендерит services.yaml из
|
||||
# homelab_services (плитка на сервис, ссылка на его UI, группировка по узлу).
|
||||
# Живёт compose-стеком на LXC monitoring рядом с Uptime Kuma; наружу НЕ
|
||||
# публикуется — доступ только из LAN и по OpenVPN.
|
||||
homelab_dashboard_host: monitoring
|
||||
homelab_dashboard_dir: /opt/homepage
|
||||
homelab_dashboard_bind_ip: 192.168.1.30
|
||||
# Порт на хосте: 3000 в модели реестра занят замороженной Grafana, 3001 —
|
||||
# Uptime Kuma, поэтому Homepage слушает 8082 -> контейнерный 3000.
|
||||
homelab_dashboard_port: 8082
|
||||
# Образ закреплён по digest (закреплён 2026-09-03 после первого pull на CT 155).
|
||||
# Обновление: docker pull <новый тег> на monitoring, взять digest
|
||||
# docker inspect --format '{{ index .RepoDigests 0 }}' <image>
|
||||
# и вписать сюда. playbooks/dashboard.yml падает на assert'е без @sha256
|
||||
# (разовый обход — `-e dashboard_allow_floating_tag=true`).
|
||||
homelab_dashboard_image: >-
|
||||
ghcr.io/gethomepage/homepage:v2.2.0@sha256:753eeb0cc22ab7baad39ed47cbd1aae14e193dd1b264e965f193a9ea1d1e1bdd
|
||||
# HOMEPAGE_ALLOWED_HOSTS: Homepage >=1.0 отклоняет запросы с прочих Host-ов.
|
||||
homelab_dashboard_allowed_hosts: "192.168.1.30:8082"
|
||||
# Виджет proxmox: URL любого узла кластера (без node: -> среднее по кластеру).
|
||||
# Секрет — read-only токен homepage@pve!dashboard (роль PVEAuditor), выпускается
|
||||
# playbooks/bootstrap-dashboard-pve-token.yml в корневой .env как DASHBOARD_PVE_*.
|
||||
# Пустой URL -> плитка Proxmox не рендерится.
|
||||
homelab_dashboard_proxmox_url: "https://192.168.1.10:8006"
|
||||
# slug опубликованной Status Page в Uptime Kuma для виджета сводки up/down
|
||||
# (мониторы и статус-страницы Kuma живут только в её UI — их тут не завести).
|
||||
homelab_dashboard_kuma_slug: homelab
|
||||
|
||||
homelab_services:
|
||||
|
||||
# --------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user