infra/docs/BACKLOG.md
jack 66b70827df
Some checks failed
CI/CD / syntax-check (push) Successful in 1m31s
CI/CD / deploy (push) Has been cancelled
chore: full project cleanup + documentation
Syncthing removal (was already decided, now fully removed):
- roles/base/tasks/firewall.yml: remove 3 UFW rules (ports 22000/21027)
- inventory/group_vars/all/main.yml: remove domain_sync, domain_mon, syncthing_basic_auth_htpasswd
- roles/services/templates/env.j2: remove DOMAIN_SYNC
- roles/services/templates/authelia/configuration.yml.j2: remove Syncthing 2FA rule
- roles/services/tasks/directories.yml: remove syncthing/config and syncthing/data dirs
- roles/services/defaults/main.yml: remove syncthing_image
- roles/services/tasks/main.yml: remove syncthing image pull

Security hardening:
- inventory/group_vars/all/main.yml: move cloudflare_zone_id to vault
- inventory/group_vars/all/vault.yml: add vault_cloudflare_zone_id

.gitignore improvements:
- add *.env, acme.json, *.log, editor dirs, venv, temp files

Documentation (new):
- docs/STATUS.md: all services, servers, known issues
- docs/BACKLOG.md: prioritized task list, done/todo
- docs/DECISIONS.md: architecture decisions and rationale
- CLAUDE.md: rewritten with read-first docs, rules, full arch reference

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 19:58:12 +07:00

94 lines
4.3 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.

# Бэклог задач
> Задачи по приоритету. Обновляй этот файл при добавлении/завершении задач.
> Последнее обновление: 2026-03-22
---
## 🔴 Критично (сделать как можно скорее)
- [ ] **Добавить DNS-запись `dash.csrx.ru`** в Cloudflare
A `dash``87.249.49.32` (proxied). Grafana сейчас недоступна по домену.
- [ ] **Бэкап tools-сервера**
Добавить в `roles/backup/` или создать отдельный скрипт для tools-сервера:
- outline-db (PostgreSQL dump)
- n8n_data (Docker volume)
- mailserver/config (DKIM ключи, аккаунты)
- snappymail/data
- [ ] **plane-minio не бэкапится**
Вложения и файлы из Plane не входят в текущий бэкап. Нужен dump MinIO bucket `uploads`.
---
## 🟡 Высокий приоритет
- [ ] **Мониторинг tools-сервера**
Добавить node-exporter на tools-сервер и scrape-конфиг в Prometheus.
- [ ] **mem_limit для plane-worker и plane-beat**
Сейчас без ограничений памяти, риск OOM. Добавить `mem_limit: 256m`.
- [ ] **Проверить работу swap**
`roles/base/tasks/swap.yml` должен создавать 2GB swap. Проверить что он реально создан на сервере.
- [ ] **Верификация бэкапов**
Добавить еженедельную проверку: скачать последний бэкап из S3, сделать test restore в Docker.
---
## 🟢 Обычный приоритет
- [ ] **Алерты на сбой бэкапа**
Если `backup-services` завершился с ошибкой — отправить алерт в Telegram.
- [ ] **Алерты на истечение TLS-сертификатов**
Добавить Prometheus правило: предупреждение за 7 дней до истечения сертификата.
- [ ] **Prometheus → tools-сервер**
Настроить federated scraping или remote_write для получения метрик tools-сервера.
- [ ] **Бакет S3 `visual-backup`**
Убедиться что бакет создан в Timeweb как "холодное хранилище" (тип: COLD).
---
## 📋 Бэклог (без срока)
- [ ] **Обновление образов**
Регулярно проверять новые версии (образы запинены в `defaults/main.yml`):
- Forgejo (сейчас `:9`)
- Traefik (сейчас `v3.3`)
- Plane (сейчас `:stable`)
- Authelia (сейчас `4.38`)
- [ ] **Автоматическое обновление Cloudflare IP-списков**
UFW разрешает только Cloudflare IPs. Список захардкожен — нужен cron для обновления.
- [ ] **Логи mail-сервера в Loki**
Добавить promtail pipeline для сбора логов mailserver с tools-сервера.
- [ ] **Двухфакторная аутентификация для n8n**
n8n сейчас доступен только с rate-limit middleware, без 2FA через Authelia.
---
## ✅ Сделано
- [x] Traefik с wildcard TLS через Cloudflare DNS-01
- [x] Vaultwarden (менеджер паролей)
- [x] Forgejo + CI/CD через Forgejo Actions
- [x] Plane (управление проектами)
- [x] Outline wiki с email magic link авторизацией
- [x] n8n автоматизация
- [x] docker-mailserver (Postfix + Dovecot), аккаунты: noreply, admin, jack
- [x] SnappyMail вебмейл на webmail.csrx.ru
- [x] DKIM/SPF/DMARC DNS-записи для почты
- [x] Мониторинг (Prometheus + Grafana + Loki + AlertManager)
- [x] CrowdSec IDS + fail2ban
- [x] Authelia 2FA SSO
- [x] Uptime Kuma статус-страница
- [x] Бэкап каждый час → S3 cold `data/`, 7 дней хранения
- [x] Удаление Syncthing (домен, firewall правила, образ, переменные)
- [x] cloudflare_zone_id перенесён из main.yml в vault