Solo.Beacon 1.0.0-pre-doc4847-01

Solo.Beacon

Solo.Beacon — это переиспользуемый ASP.NET Core пакет для сервисов ft-soft. Он предоставляет:

  • endpoint /solo-beacon/discovery, который публикует реальные пути health и stats для сервиса
  • endpoint /health, который отвечает 200 OK на любой HTTP-метод
  • endpoint /stats для состояния текущего сервиса
  • возможность включать или отключать логирование запросов к /solo-beacon/discovery, /health и /stats одним общим флагом
  • опциональный фоновый опрос зависимых сервисов по схеме ServiceUrl + /solo-beacon/discovery с обработкой результатов через delegate

Использование

using Solo.Beacon;

var builder = WebApplication.CreateBuilder(args);

builder.Services
    .AddSoloBeacon()
    .AddDependencyHealthMonitoring(
        static async (serviceProvider, responses, cancellationToken) =>
        {
            var cache = serviceProvider.GetRequiredService<IMonitoringCache>();
            await cache.StoreAsync(responses, cancellationToken);
        });

var app = builder.Build();

app.MapSoloBeacon()
    .MapHealth()
    .MapStats();

Если нужен собственный payload /stats, можно передать handler в MapStats(...). По умолчанию endpoint вернет только timestamp генерации ответа текущего сервиса.

Конфигурация

{
  "Beacon": {
    "LoggingEnabled": false,
    "HealthUrl": "/health",
    "StatsUrl": "/stats",
    "Monitoring": {
      "Enabled": true,
      "ProbeInterval": "00:00:30",
      "RequestTimeout": "00:00:05",
      "Services": [
        "https://solo-butler.ru",
        "https://solo.ru/solo",
        "https://solo.ru/org"
      ]
    }
  }
}

Примечания

  • /stats всегда закрыт авторизацией и использует стандартное поведение ASP.NET Core, настроенное в хост-приложении.
  • Чтобы в HttpContext.User были данные пользователя, хост-приложение должно само настроить аутентификацию обычным для себя способом.
  • /solo-beacon/discovery всегда захардкожен и не настраивается через конфиг.
  • Пути endpoint-ов и общий флаг логгирования можно полностью задать через SoloBeacon в конфиге, без обязательных lambda-настроек в Program.cs.

No packages depend on Solo.Beacon.

.NET 8.0

  • No dependencies.

Version Downloads Last updated
1.0.0 2 05/28/2026
1.0.0-pre-doc4847-07 2 05/19/2026
1.0.0-pre-doc4847-06 2 05/19/2026
1.0.0-pre-doc4847-05 2 05/19/2026
1.0.0-pre-doc4847-04 2 05/19/2026
1.0.0-pre-doc4847-03 2 05/18/2026
1.0.0-pre-doc4847-02 2 05/18/2026
1.0.0-pre-doc4847-01 2 05/18/2026