Files
ripe-cidr-collector/docs/plan-production-deploy.md
ayurishchevandClaude Sonnet 5 7e3b4526f3 Record the production deployment on port 18000
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>
2026-09-21 11:45:46 +03:00

3.5 KiB

План: боевое развёртывание в контейнерах (порт 18000)

Источник: docs/analysis-2026-09-21.md (рекомендуемый порядок, п. 1), docs/summary-real-data-run.md (тестовый запуск с AS62041 пройден).

Решения пользователя

  • Токен записывается в переменные окружения проекта (.env, вне git).
  • Развёртывание в контейнерах на порту 18000 (если свободен; проверено: свободен).
  • Доступ открыт для всех: порт публикуется на всех интерфейсах хоста (доверенный контур; TLS нет - риск 5 анализа принят).
  • Резервные копии остаются на томе /data/backups, отдельно не выносятся (риск 10 принят).

Параметры

  • Проект Compose по умолчанию (ripe_cidr_collector), образ ripe-cidr-collector, том ripe_cidr_collector_ripe_data, перезапуск unless-stopped (Docker на хосте включён при загрузке).
  • .env (права 600): RIPE_API_TOKEN (случайный, 64 hex-символа), API_PORT=18000, TZ=Europe/Moscow (часовой пояс хоста; расписания */15 для ASN, 0 3 * * * для FQDN и 30 4 * * * для копий считаются по нему).
  • Данные: в том копируются копии реальных config.json (шесть ASN и три FQDN), data.json, fqdn_data.json; исходные файлы проекта не меняются (сверка контрольных сумм). Миграция в SQLite выполняется при первом обращении.

Шаги

  1. Проверка предпосылок, контрольные суммы исходных файлов.
  2. Токен и .env; сборка образа; перенос копий файлов в том; docker compose up -d.
  3. Проверка: сервисы healthy, миграция без потерь (24 префикса, 4 значения FQDN), часовой пояс контейнеров.
  4. Первый сбор по всем источникам (POST /collect): /sources, /health, /addresses, diff; источник AS11917 (в данных февраля был пуст).
  5. Доступ извне: запрос по адресу хоста (не 127.0.0.1), запись без токена отклоняется (401), с токеном проходит.
  6. Наблюдение штатного расписания (ближайший квартал часа для ASN), если ожидание короткое.
  7. Итоги docs/summary-production-deploy.md, обновление анализа, сверка сумм исходных файлов.

Риски и откат

  • Токен передаётся по HTTP открытым текстом, порт доступен всем в сети: принято (доверенный контур).
  • Копии на том же томе: защита от порчи файла, не от потери тома: принято.
  • Откат: docker compose down (данные остаются в томе) или docker compose down -v (с удалением тома); исходные файлы проекта не затрагиваются.