1.9 KiB
1.9 KiB
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-админку.