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
AI Context
Назначение
Этот набор документов фиксирует стабильный, подтвержденный репозиторием контекст
HomeLab. Он дополняет краткий рабочий контракт в AGENTS.md и
не заменяет канонические Ansible inventory/vars или операционные заметки Obsidian.
HomeLab управляется как Ansible-first control plane: Proxmox VE/LXC, сетевой
транспорт, сервисы, резервное копирование, обновления и мониторинг описываются в
ansible/. Прямые изменения на серверах допустимы только для read-only диагностики
или break-glass восстановления с последующим переносом желаемого состояния в Ansible.
Возможности
- создание и настройка LXC через Proxmox API или
pctпо SSH; - управление сервисами через Docker/systemd и Docker Compose/systemd;
- OpenVPN-транспорт и SSH ProxyJump через
ru-vps; - Caddy reverse proxy для публичных сервисов;
- PBS и offsite restic backups с аудитом свежести;
- управляемые обновления по схеме backup/audit -> update -> health check;
- активный Uptime Kuma и сохраненный, но замороженный Prometheus stack;
- локальный Grimmory MCP с ручной синхронизацией книг в Obsidian.
Форма системы
ansible/Makefileявляется основной ручной точкой входа.ansible/inventory/hosts.ymlзадает хосты, группы и индивидуальные адреса.ansible/inventory/group_vars/all/services.ymlсодержит сводный реестр сервисов, но пока программно управляет только генерацией reverse proxy.ansible/playbooks/содержит операционные entry points,ansible/roles/- роли.tools/grimmory-mcp/является отдельным Node.js stdio MCP-процессом.- Obsidian vault хранит решения, текущую эксплуатационную картину и журнал работ.
Карта репозитория
| Путь | Назначение |
|---|---|
ansible/Makefile |
Проверки, deploy, update и защищенные операции |
ansible/inventory/ |
Канонические хосты, группы, общие и host-specific vars |
ansible/playbooks/ |
Операционные Ansible entry points |
ansible/roles/ |
Переиспользуемые роли и сохраненный monitoring stack |
ansible/ssh_config |
SSH users, keys, ports и ProxyJump |
.opencode/agents/ |
Read-only специализированные агенты HomeLab |
tools/grimmory-mcp/ |
Grimmory API и Obsidian sync integration |
archive/2026-07-proxmox-migration/ |
История до Ansible control plane, не active source |
Ключевые ограничения
- Не хранить secrets в Git или Obsidian.
- Не считать
--check --diffполной симуляцией Proxmox provisioning. - Не запускать замороженный Prometheus stack без отдельного решения.
- Не считать generic roles
lxc_docker_hostиcompose_serviceподключенными к production: активные service playbooks пока остаются источником поведения. - Не исправлять обнаруженный технический долг в рамках несвязанной задачи.
- Не редактировать archive, generated files, installed Galaxy collections или
node_modulesкак active implementation.
Документы
architecture.md- observed architecture и data/control flows.tech-stack.md- runtimes, dependencies и команды.edge-cases.md- failure modes, safety gaps и coverage.plan.md- только подтвержденная активная работа.migration-tofu.md- пошаговый план перехода provisioning LXC на OpenTofu по схеме blue-green.legacy-warning.md- границы legacy/frozen/prototype кода.links.md- официальные version-relevant references.