Configurations

This commit is contained in:
2026-03-29 18:31:21 +02:00
parent f92b1b93ea
commit 164fb5f29a
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.RoutingSlip.Builders;
using Musify.Infrastructure.MassTransit.Activities.Files;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Options;
namespace Musify.Infrastructure.MassTransit
{
@@ -29,8 +31,16 @@ namespace Musify.Infrastructure.MassTransit
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<PictureWorkflowRoutingSlipBuilder>();
serviceDescriptors.AddScoped<RemoveFileFromBucketRoutingSlipBuilder>();
@@ -1,15 +1,26 @@
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using Musify.Infrastructure.Configuration;
using OpenTelemetry.Exporter;
using OpenTelemetry.Metrics;
using OpenTelemetry.Trace;
using SixLabors.ImageSharp;
namespace Musify.Infrastructure.Observability
{
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
.AddOptions<OtlpExporterOptions>()
.Configure<OpenTelemetryConfiguration>((exporterOptions, openTelemetryConfiguration) =>