|
15 | 15 | using Microsoft.Extensions.Logging; |
16 | 16 | using Microsoft.Extensions.Options; |
17 | 17 | using NuGet.Jobs.Configuration; |
| 18 | +using NuGet.Jobs.Validation.Storage; |
18 | 19 | using NuGet.Services.Configuration; |
19 | 20 | using NuGet.Services.KeyVault; |
20 | 21 | using NuGet.Services.Logging; |
@@ -107,13 +108,23 @@ private void ConfigureDefaultJobServices(IServiceCollection services, IConfigura |
107 | 108 | services.Configure<GalleryDbConfiguration>(configurationRoot.GetSection(GalleryDbConfigurationSectionName)); |
108 | 109 | services.Configure<ValidationDbConfiguration>(configurationRoot.GetSection(ValidationDbConfigurationSectionName)); |
109 | 110 | services.Configure<ServiceBusConfiguration>(configurationRoot.GetSection(ServiceBusConfigurationSectionName)); |
| 111 | + services.Configure<ValidationStorageConfiguration>(configurationRoot.GetSection(ServiceBusConfigurationSectionName)); |
110 | 112 |
|
111 | 113 | services.AddSingleton(new TelemetryClient()); |
112 | 114 | services.AddTransient<ITelemetryClient, TelemetryClientWrapper>(); |
113 | 115 | services.AddTransient<ICommonTelemetryService, CommonTelemetryService>(); |
114 | 116 | services.AddTransient<IDiagnosticsService, LoggerDiagnosticsService>(); |
115 | 117 | services.AddTransient<IPackageDownloader, PackageDownloader>(); |
116 | 118 |
|
| 119 | + services.AddTransient<ICloudBlobClient>(c => |
| 120 | + { |
| 121 | + var configurationAccessor = c.GetRequiredService<IOptionsSnapshot<ValidationStorageConfiguration>>(); |
| 122 | + return new CloudBlobClientWrapper( |
| 123 | + configurationAccessor.Value.ConnectionString, |
| 124 | + readAccessGeoRedundant: false); |
| 125 | + }); |
| 126 | + services.AddTransient<ICoreFileStorageService, CloudBlobCoreFileStorageService>(); |
| 127 | + |
117 | 128 | services.AddScoped<IValidationEntitiesContext>(p => |
118 | 129 | { |
119 | 130 | var config = p.GetRequiredService<IOptionsSnapshot<ValidationDbConfiguration>>().Value; |
|
0 commit comments