Files
RuvdsIpCheck/README.md
Codex 8ec7ee2ec9
Some checks failed
CI / build-test (push) Has been cancelled
CI / containers (push) Has been cancelled
Add distributed F# monitoring platform
2026-08-09 18:22:24 +03:00

1.9 KiB
Raw Blame History

IpCheck

Распределённая система мониторинга IP-адресов на F#. Каждый агент представляет отдельную локацию, синхронизирует общий список IP с центральным сервером, выполняет Ping и TCP-проверки SSH/RDP и отправляет результаты обратно.

Состав первого среза

  • F# ASP.NET Core API;
  • F# Worker Service для агентов локаций;
  • общие контракты и доменная модель;
  • схема PostgreSQL;
  • Docker-образы сервера и агента;
  • Docker Compose для локального окружения;
  • CI для сборки, тестов и публикации контейнеров;
  • существующий интерфейс в app/ сохранён как визуальный прототип до переноса на Fable.

Локальная проверка

dotnet restore IpCheck.slnx
dotnet build IpCheck.slnx -c Release
dotnet run --project tests/IpCheck.UnitTests/IpCheck.UnitTests.fsproj -c Release

Запуск сервера:

dotnet run --project src/IpCheck.Server/IpCheck.Server.fsproj

API будет доступен по адресу, указанному ASP.NET Core в консоли. Проверка состояния: GET /healthz.

Docker Compose

Скопируйте deploy/.env.example в deploy/.env, замените пароль и запустите:

docker compose --env-file deploy/.env -f deploy/docker-compose.yml up -d --build

Следующий этап

Перевести репозитории IP, локаций и результатов с временного in-memory хранилища на PostgreSQL, добавить регистрацию агентов по одноразовому токену и начать Fable-админку.