EBCEYS.ContainersEnvironment 0.0.8

dotnet add package EBCEYS.ContainersEnvironment --version 0.0.8
                    
NuGet\Install-Package EBCEYS.ContainersEnvironment -Version 0.0.8
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="EBCEYS.ContainersEnvironment" Version="0.0.8" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="EBCEYS.ContainersEnvironment" Version="0.0.8" />
                    
Directory.Packages.props
<PackageReference Include="EBCEYS.ContainersEnvironment" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add EBCEYS.ContainersEnvironment --version 0.0.8
                    
#r "nuget: EBCEYS.ContainersEnvironment, 0.0.8"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package EBCEYS.ContainersEnvironment@0.0.8
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=EBCEYS.ContainersEnvironment&version=0.0.8
                    
Install as a Cake Addin
#tool nuget:?package=EBCEYS.ContainersEnvironment&version=0.0.8
                    
Install as a Cake Tool

EBCEYS.ContainersEnvironment

.NET

Описание

Библиотека для удобной работы сервисов внутри docker контейнера.

Переменные окружения

public class ServiceEnvironmentVariable<T> используется для доступа к переменным окружения.

public static class DefaultEnvironmentVariables содержит внутри себя инстансы переменных окружения общих для контейнеров.

public interface IEnvironmentConverter интерфейс описывающий методы для конвертации переменной окружения в нужный тип.

Конфигурация сервисов

Создано для работы с сервисом конфигурации.

public class ConfigurationFileInfo - объект, возвращаемым сервисом, содержащий информацию о конфигурации контейнера. public static class ConfigurationEnvironment - статический класс, содержащий переменные окружения для конфигурации.

HealthChecks

Для добавления 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";

Изменения

v0.0.8:

  1. В стартовую настройку HealthChecks добавлена настройка по выбору режима работы. С кодогенерацией или без (по умолчанию без).

v0.0.7:

  1. Попытка сделать сериализацию HealthReports под trimmed публикацию.

v0.0.6:

  1. Сборка под AOT.
  2. HEALTHCHECKS_STARTING_PORT - сделан опциональным. По умолчанию 8080.

v0.0.5:

  1. Добавлена переменная окружения HEALTHCHECKS_ENABLE=true, которая включает и выключает HealthChecks.

v0.0.4:

  1. Добавлены HealthChecks.

v0.0.3:

  1. Добавлены переменные окружения для конфигурации.
  2. Добавлен класс public class ConfigurationFileInfo(string serverFileFullPath, DateTimeOffset lastWriteUTC, string containerTypeName, string fileSaveFullPath), служащий для передачи информации о файле конфигурации от сервера.

v0.0.2:

  1. Исправил ReadMe в пакете.
  2. Добавлена сущность public class ContainerLabelInfo<T> для работы с labels контейнера.
  3. Добавлен экстеншн метод public static ContainerLabelInfo<T>? GetLabel<T>(this IDictionary<string, string> labels, string key, IEnvironmentConverter? converter = null) создающий экземпляр public class ContainerLabelInfo<T>.

v0.0.1:

  1. Работа с переменными окружения.
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on EBCEYS.ContainersEnvironment:

Package Downloads
Ebceys.Infrastructure

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.0.8 487 3/18/2025
0.0.7 267 3/16/2025
0.0.6 215 3/16/2025
0.0.5 260 3/10/2025
0.0.4 264 3/8/2025
0.0.3 299 3/5/2025
0.0.2 220 3/2/2025
0.0.1 212 3/1/2025