Plan and summary of the containerized deployment (six ASNs, three FQDNs, token in .env, published on all interfaces, backups on the volume) and the updated analysis. The .env file stays out of git. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
4.8 KiB
4.8 KiB
Итоги: боевое развёртывание в контейнерах (порт 18000)
План: docs/plan-production-deploy.md. Предшествовал тестовый запуск docs/summary-real-data-run.md.
Параметры развёртывания
- Адрес:
http://192.168.5.9:18000(порт опубликован на всех интерфейсах хоста, доступ открыт для всех в доверенном контуре, TLS нет; риск 5 принят). Файрвол на хосте входящий трафик не фильтрует (INPUT ACCEPT). - Токен:
RIPE_API_TOKEN(64 hex-символа, сгенерирован) записан в/opt/lvraid/claude/ripe_cidr_collector/.env(права 600, файл в.gitignore); там жеAPI_PORT=18000иTZ=Europe/Moscow(часовой пояс хоста: расписания считаются по московскому времени). Смена токена: изменить.envи выполнитьdocker compose up -d. - Контейнеры: проект Compose по умолчанию (
ripe_cidr_collector), сервисыapiиcollector, образripe-cidr-collector, томripe_cidr_collector_ripe_data, перезапускunless-stopped(Docker на хосте включён при загрузке). - Данные: в том скопированы копии реальных
config.json(6 ASN: 62014, 62041, 59930, 44907, 211157, 11917; 3 FQDN),data.json,fqdn_data.json; исходные файлы проекта не менялись (контрольные суммы совпали). - Расписание: ASN
*/15 * * * *, FQDN0 3 * * *, копия базы30 4 * * *(по умолчанию), копии на том же томе (/data/backups, 7 штук), отдельно не выносятся (риск 10 принят).
Результаты проверки
| Проверка | Итог |
|---|---|
| Сервисы | api и collector healthy, порт 0.0.0.0:18000, часовой пояс контейнеров MSK. |
| Миграция | Схема версии 3, 24 префикса и 4 значения FQDN (28 строк) без потерь, оригиналы в томе переименованы, журнал пуст. |
Первый сбор (POST /collect, реальные RIPEstat и DNS) |
6 ASN из 6 успешно, 3 FQDN из 3 успешно; +18 префиксов и +3 строки IP; сбоев нет. |
| Состояние источников | /sources: у всех источников 0 сбоев; AS11917 отвечает без префиксов (addresses: 0, успех), как и в данных февраля. |
| Diff | С момента миграции 19 добавлений, 0 удалений; все старые значения подтверждены RIPE. AS62014 теперь анонсирует и прежние префиксы, и их более специфичные части (91.108.16.0/23, 91.108.18.0/23, 91.108.56.0/24, 91.108.57.0/24): для потребителей есть смысл использовать aggregate=true. |
| Доступ извне | По адресу хоста: /health 200, /addresses 45 значений; запись без токена и с неверным токеном - 401. |
| Штатное расписание | Плановый запуск ASN в 11:45:00: 6 из 6, +0/-0, ошибок нет; следующий 12:00. |
| Логи | Ошибок и трейсбеков нет. |
Что наблюдать
- Завтра 03:00: первый плановый сбор FQDN; 04:30: первая плановая копия базы (
/health->jobs.backup, каталог/data/backups). GET /health(status,sources.*.failing) иGET /sources; порог сбоевsource_failure_threshold= 3.google.com(адрес из старого файла, в конфигурации его нет) истечёт по TTL через 90 дней.- Размер базы и журнала (после миграции: десятки КБ).
Замечания
- Токен хранится открытым текстом в
.envна хосте и передаётся по HTTP (доверенный контур, риск 5); один общий токен без ротации и аудита (риск 6). - Копии на том же томе не защищают от потери тома (риск 10).
- Управление:
docker compose ps,docker compose logs -f collector,docker compose down(данные остаются в томе),docker compose up -d; обновление после изменений кода:docker compose build && docker compose up -d.