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.6 3 08/04/2026
1.0.5 28 08/03/2026
1.0.3 245 07/21/2026
1.0.3-pre01 1 07/21/2026
1.0.2 29 07/20/2026
1.0.2-pre03 1 07/20/2026
1.0.2-pre02 1 07/20/2026
1.0.2-pre01 1 07/20/2026
1.0.1 1 07/20/2026
1.0.0 6 05/28/2026
1.0.0-pre-doc4847-07 5 05/19/2026
1.0.0-pre-doc4847-06 5 05/19/2026
1.0.0-pre-doc4847-05 5 05/19/2026
1.0.0-pre-doc4847-04 5 05/19/2026
1.0.0-pre-doc4847-03 5 05/18/2026
1.0.0-pre-doc4847-02 5 05/18/2026
1.0.0-pre-doc4847-01 5 05/18/2026