Configurations

This commit is contained in:
2026-03-29 18:31:21 +02:00
parent 747989f9dc
commit bc3736ce1b
2 changed files with 23 additions and 2 deletions
@@ -11,6 +11,8 @@ using Musify.Infrastructure.MassTransit.Activities.Logs;
using Musify.Infrastructure.MassTransit.Filters; using Musify.Infrastructure.MassTransit.Filters;
using Musify.Infrastructure.MassTransit.RoutingSlip.Builders; using Musify.Infrastructure.MassTransit.RoutingSlip.Builders;
using Musify.Infrastructure.MassTransit.Activities.Files; using Musify.Infrastructure.MassTransit.Activities.Files;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Options;
namespace Musify.Infrastructure.MassTransit namespace Musify.Infrastructure.MassTransit
{ {
@@ -29,8 +31,16 @@ namespace Musify.Infrastructure.MassTransit
return serviceDescriptors; return serviceDescriptors;
} }
public static IServiceCollection AddMassTransitConsumers(this IServiceCollection serviceDescriptors) public static IServiceCollection AddMassTransitConsumers(this IServiceCollection serviceDescriptors, IConfiguration configuration)
{ {
serviceDescriptors
.AddOptionsWithValidateOnStart<WorkerConfiguration>()
.Bind(configuration.GetRequiredSection(WorkerConfiguration.SectionName))
.ValidateDataAnnotations();
serviceDescriptors.AddSingleton(serviceProvider =>
serviceProvider.GetRequiredService<IOptions<WorkerConfiguration>>().Value);
serviceDescriptors.AddScoped<AudioWorkflowRoutingSlipBuilder>(); serviceDescriptors.AddScoped<AudioWorkflowRoutingSlipBuilder>();
serviceDescriptors.AddScoped<PictureWorkflowRoutingSlipBuilder>(); serviceDescriptors.AddScoped<PictureWorkflowRoutingSlipBuilder>();
serviceDescriptors.AddScoped<RemoveFileFromBucketRoutingSlipBuilder>(); serviceDescriptors.AddScoped<RemoveFileFromBucketRoutingSlipBuilder>();
@@ -1,15 +1,26 @@
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using Musify.Infrastructure.Configuration; using Musify.Infrastructure.Configuration;
using OpenTelemetry.Exporter; using OpenTelemetry.Exporter;
using OpenTelemetry.Metrics; using OpenTelemetry.Metrics;
using OpenTelemetry.Trace; using OpenTelemetry.Trace;
using SixLabors.ImageSharp;
namespace Musify.Infrastructure.Observability namespace Musify.Infrastructure.Observability
{ {
public static class OpenTelemetryDependencyInjection public static class OpenTelemetryDependencyInjection
{ {
public static IServiceCollection AddInfrastructureOpenTelemetry(this IServiceCollection serviceDescriptors) public static IServiceCollection AddInfrastructureOpenTelemetry(this IServiceCollection serviceDescriptors, IConfiguration configuration)
{ {
serviceDescriptors
.AddOptionsWithValidateOnStart<OpenTelemetryConfiguration>()
.Bind(configuration.GetRequiredSection(OpenTelemetryConfiguration.SectionName))
.ValidateDataAnnotations();
serviceDescriptors.AddSingleton(serviceProvider =>
serviceProvider.GetRequiredService<IOptions<OpenTelemetryConfiguration>>().Value);
serviceDescriptors serviceDescriptors
.AddOptions<OtlpExporterOptions>() .AddOptions<OtlpExporterOptions>()
.Configure<OpenTelemetryConfiguration>((exporterOptions, openTelemetryConfiguration) => .Configure<OpenTelemetryConfiguration>((exporterOptions, openTelemetryConfiguration) =>