# Роли Ansible | Роль | Назначение | |---|---| | `backup_audit` | Аудит бэкапов PBS и restic, метрики в node-exporter | | `bash_config` | Единый bash-конфиг для shell-хостов | | `compose_service` | **(новая)** Docker Compose стек под systemd oneshot-юнитом | | `emergency_access` | Аварийный доступ | | `emergency_bot` | Telegram-бот аварийного доступа | | `gyro` | Сервис gyro в изолированном LXC | | `lxc_docker_host` | **(новая)** Подготовка непривилегированного LXC под Docker | | `monitoring_blackbox` | Внешние HTTP-пробы с ru-vps | | `monitoring_exporter` | node-exporter / smartctl-exporter | | `monitoring_server` | Prometheus + Alertmanager + Grafana | | `openvpn_gateway` | OpenVPN сервер/клиент | | `pve_lxc` | Создание LXC через Proxmox API | | `uptime_kuma` | Uptime Kuma | | `base`, `docker`, `ufw` | Пустые каталоги, оставшиеся от ранней структуры | ## Новые роли ### `lxc_docker_host` Пакеты, проверка `/dev/fuse`, `daemon.json` со `storage-driver: fuse-overlayfs`, запуск docker, базовые правила UFW (SSH из LAN и OpenVPN, node-exporter 9100 с 192.168.1.30, `deny incoming`), проверка эффективного драйвера хранилища. Вынесено из восьми `pve-*.yml` — около 350 строк копипасты. Подробности и пример: [`lxc_docker_host/README.md`](lxc_docker_host/README.md). ### `compose_service` `compose.yml` + `.env` (генерация секретов один раз, `no_log`, `0600`) + systemd-юнит `Type=oneshot` с `docker compose up -d --remove-orphans`, `daemon-reload` через handler, валидация `docker compose config --quiet`, рестарт только при изменениях, health-check по URL с `retries`/`until`. Подробности и пример плейбука Gitea на новых ролях: [`compose_service/README.md`](compose_service/README.md). **Статус:** `compose_service` подключён в `playbooks/ru-vps-base.yml` (стек Caddy на ru-vps) — это его первый и пока единственный потребитель. `lxc_docker_host` не подключён нигде. Перевод `pve-*.yml` на обе роли — отдельный этап. ## Источник данных Факты о сервисах (vmid, узел, адрес, порты, домен, образы с digest, ресурсы, бэкап, мониторинг, порядок автозапуска) собраны в реестре `ansible/inventory/group_vars/all/services.yml` (`homelab_services`). Программные потребители реестра: - `playbooks/reverse-proxy.yml` — сборка Caddyfile; - `playbooks/ru-vps-base.yml` — стек Caddy и его закреплённый образ; - `playbooks/pve-backup-jobs.yml` — списки VMID заданий PBS (поле `backup.job`); - `roles/backup_audit` — VMID для аудита (флаг `monitoring.backup_audit_vmid`); - `playbooks/validate.yml` — сверка реестра с фактическим состоянием Proxmox. Остальное (`pve-*.yml`, `status.yml`, monitoring, SSH config) по-прежнему дублирует значения и должно меняться согласованно.