43 lines
1.9 KiB
Markdown
43 lines
1.9 KiB
Markdown
# IpCheck
|
||
|
||
Распределённая система мониторинга IP-адресов на F#. Каждый агент представляет отдельную локацию, синхронизирует общий список IP с центральным сервером, выполняет Ping и TCP-проверки SSH/RDP и отправляет результаты обратно.
|
||
|
||
## Состав первого среза
|
||
|
||
- F# ASP.NET Core API;
|
||
- F# Worker Service для агентов локаций;
|
||
- общие контракты и доменная модель;
|
||
- схема PostgreSQL;
|
||
- Docker-образы сервера и агента;
|
||
- Docker Compose для локального окружения;
|
||
- CI для сборки, тестов и публикации контейнеров;
|
||
- существующий интерфейс в `app/` сохранён как визуальный прототип до переноса на Fable.
|
||
|
||
## Локальная проверка
|
||
|
||
```bash
|
||
dotnet restore IpCheck.slnx
|
||
dotnet build IpCheck.slnx -c Release
|
||
dotnet run --project tests/IpCheck.UnitTests/IpCheck.UnitTests.fsproj -c Release
|
||
```
|
||
|
||
Запуск сервера:
|
||
|
||
```bash
|
||
dotnet run --project src/IpCheck.Server/IpCheck.Server.fsproj
|
||
```
|
||
|
||
API будет доступен по адресу, указанному ASP.NET Core в консоли. Проверка состояния: `GET /healthz`.
|
||
|
||
## Docker Compose
|
||
|
||
Скопируйте `deploy/.env.example` в `deploy/.env`, замените пароль и запустите:
|
||
|
||
```bash
|
||
docker compose --env-file deploy/.env -f deploy/docker-compose.yml up -d --build
|
||
```
|
||
|
||
## Следующий этап
|
||
|
||
Перевести репозитории IP, локаций и результатов с временного in-memory хранилища на PostgreSQL, добавить регистрацию агентов по одноразовому токену и начать Fable-админку.
|