Files
infra/docs/ai/legacy-warning.md
T
DmitryandClaude Sonnet 5 d2e1e6876a docs: AI project context (docs/ai) and repository documentation refresh
- docs/ai/: stable, repo-verified context - README, architecture, tech-stack,
  edge-cases, plan (confirmed active work only), migration-tofu (the blue-green
  OpenTofu migration runbook and per-service findings), legacy-warning, links.
- AGENTS.md: slimmed to a working contract that points at docs/ai instead of
  restating it; CLAUDE.md is an adapter that @-includes it.
- README.md, ansible/README.md, ansible/roles/README.md,
  roles/lxc_docker_host/README.md: bring wording in line with the current
  control plane (Makefile entry point, registry, tofu, memoir-bot gone).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012uoq5AVK8mkBgg83Mq6o5V
2026-09-03 07:06:10 +03:00

76 lines
4.6 KiB
Markdown
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.
# Legacy и fragile boundaries
Этот файл не является backlog. Он предотвращает случайную замену active behavior
более новым, старым или внешне похожим кодом без отдельного решения.
## Исторический Archive
- Path: `archive/2026-07-proxmox-migration/`.
- Evidence: каталог содержит прежние NixOS, Docker Compose, GitOps, ZeroTier и другие
pre-Ansible материалы.
- Constraint: не редактировать и не возвращать файлы из archive как active config.
- Decision: accepted historical reference; active implementation создается в `ansible/`.
ZeroTier удален из active infrastructure 11 июля 2026 года. Active inventory, roles
и playbooks его не содержат.
## Frozen Monitoring Stack
- Paths: `ansible/roles/monitoring_server/`, `monitoring_exporter/`,
`monitoring_blackbox/`, `ansible/playbooks/monitoring.yml`.
- Evidence: `ansible/Makefile` помечает target `monitoring` как frozen и требует
`CONFIRM=1`; role `uptime_kuma` останавливает `homelab-monitoring`.
- Constraint: наличие кода не означает, что Prometheus stack активен.
- Decision: defer; Uptime Kuma является active monitoring до нового решения.
## Prototype Roles
- Paths: `ansible/roles/lxc_docker_host/`, `ansible/roles/compose_service/`.
- Evidence: `ansible/roles/README.md`. `compose_service` с 2026-09-02 вызывается из
`playbooks/ru-vps-base.yml` (стек Caddy); `lxc_docker_host` по-прежнему не вызывается
ни одним playbook.
- Constraint: не считать direct `pve-*.yml` dead code и не мигрировать service как
opportunistic cleanup. Миграция меняет runtime, pull, firewall и recreation semantics.
- Decision: defer; выполнять отдельно по одному service с backup и health validation.
Empty `ansible/roles/base`, `docker` и `ufw` являются остатками ранней структуры, а
не active reusable roles.
## Duplicated Service Facts
- Paths: service registry, `pve-*.yml`, `pve-backup-jobs.yml`, backup audit defaults,
monitoring templates, status playbook и SSH config.
- Evidence: реестр потребляют reverse proxy, `ru-vps-base.yml`, backup jobs, backup
audit и `validate.yml`; `pve-*.yml`, `status.yml`, monitoring и SSH config всё ещё
дублируют значения.
- Constraint: изменение VMID/IP/image/backup/monitoring требует сверки оставшихся
consumers. `make validate` ловит расхождение реестра с Proxmox по hostname, IP,
cores, memory и swap, но не по образам, бэкапам и SSH config.
- Decision: accepted risk до отдельной migration/validator задачи.
## Partial Ownership
- Caddy installation/container lifecycle на `ru-vps` и provisioning PBS CT 120 не
управляются репозиторием.
- Hermes playbook подготавливает runtime/proxy, но не deploy самого Hermes application.
- UI state Uptime Kuma и AdGuard не полностью декларативен.
- Constraint: не заявлять полную reproducibility этих компонентов без проверки
внешнего состояния.
## Compatibility Layers
- Gitea/Vaultwarden `caddy_legacy_regexp` удаляет старые Caddy sections. Не удалять
поля до подтвержденного успешного reverse-proxy migration run.
- Grimmory OPDS/KOReader headers и compression behavior являются device compatibility
contract, а dual v1/v2 API handling MCP соответствует deployed Grimmory v3.2.4.
- OpenVPN использует static-key configuration. OpenVPN 2.6 считает этот режим
deprecated; миграция на TLS требует отдельного network change plan.
## Superseded Planning Documents
- `current-task.md` - исторический Prometheus plan, не active task.
- `tasks/grimmory-deployment-plan.md` - смешивает план и deployment record; текущее
состояние проверять по Ansible.
- Constraint: не выполнять оставшиеся пункты этих документов автоматически.
- Decision: preserve as history; новые approved tasks записывать в `plan.md`.