Библиотека для удобной работы сервисов внутри docker контейнера.
public class ServiceEnvironmentVariable<T> используется для доступа к переменным окружения.
public static class DefaultEnvironmentVariables содержит внутри себя инстансы переменных окружения общих для контейнеров.
public interface IEnvironmentConverter интерфейс описывающий методы для конвертации переменной окружения в нужный тип.
Создано для работы с сервисом конфигурации.
public class ConfigurationFileInfo - объект, возвращаемым сервисом, содержащий информацию о конфигурации контейнера.
public static class ConfigurationEnvironment - статический класс, содержащий переменные окружения для конфигурации.
Для добавления HealthCheck-ов в сервис используются экстеншон методы:
public static IServiceCollection ConfigureHealthChecks(this IServiceCollection sc)- добавляет HealthCheck в сервис иPingServiceHealthStatusInfoкак singleton, чтобы его можно было использовать далее в сервисах.public static IApplicationBuilder ConfigureHealthChecks(this IApplicationBuilder app, int port)наIApplicationBuilder.
Добавляет поддержку переменной окружения HEALTHCHECKS_ENABLE=bool, которая включает и выключает HealthChecks. По умолчанию true.
Добавляет поддержку переменной окружения HEALTHCHECKS_STARTING_PORT=int, в которой указывается порт запуска HealthCheck-ов. По умолчанию 8080.
Routes:
/// <summary>
/// The ping route.
/// </summary>
public const string PingRoute = "/ping";
/// <summary>
/// The healthz route.
/// </summary>
public const string HealthzRoute = "/healthz";
/// <summary>
/// The healthz status route.
/// </summary>
public const string HealthzStatusRoute = "/healthz/status";- В стартовую настройку HealthChecks добавлена настройка по выбору режима работы. С кодогенерацией или без (по умолчанию без).
- Попытка сделать сериализацию HealthReports под trimmed публикацию.
- Сборка под AOT.
- HEALTHCHECKS_STARTING_PORT - сделан опциональным. По умолчанию 8080.
- Добавлена переменная окружения HEALTHCHECKS_ENABLE=true, которая включает и выключает HealthChecks.
- Добавлены HealthChecks.
- Добавлены переменные окружения для конфигурации.
- Добавлен класс
public class ConfigurationFileInfo(string serverFileFullPath, DateTimeOffset lastWriteUTC, string containerTypeName, string fileSaveFullPath), служащий для передачи информации о файле конфигурации от сервера.
- Исправил ReadMe в пакете.
- Добавлена сущность
public class ContainerLabelInfo<T>для работы с labels контейнера. - Добавлен экстеншн метод
public static ContainerLabelInfo<T>? GetLabel<T>(this IDictionary<string, string> labels, string key, IEnvironmentConverter? converter = null)создающий экземплярpublic class ContainerLabelInfo<T>.
- Работа с переменными окружения.