Skip to content
This repository was archived by the owner on Jul 30, 2024. It is now read-only.

Commit 79bdaea

Browse files
authored
Merge pull request #694 from NuGet/dev
Orchestrator extracts license file to flatcontainer (#687)
2 parents 47326c5 + 5c882bb commit 79bdaea

28 files changed

Lines changed: 530 additions & 719 deletions

src/NuGet.Jobs.Common/JsonConfigurationJob.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ private IConfigurationRoot GetConfigurationRoot(string configurationFilename, ou
7676

7777
var builder = new ConfigurationBuilder()
7878
.SetBasePath(Environment.CurrentDirectory)
79-
.AddJsonFile(configurationFilename, optional: false, reloadOnChange: true);
79+
.AddJsonFile(configurationFilename, optional: false, reloadOnChange: false);
8080

8181
var uninjectedConfiguration = builder.Build();
8282

src/NuGet.Jobs.Common/NuGet.Jobs.Common.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,13 +105,13 @@
105105
<PrivateAssets>all</PrivateAssets>
106106
</PackageReference>
107107
<PackageReference Include="NuGet.Services.Configuration">
108-
<Version>2.39.0</Version>
108+
<Version>2.40.0</Version>
109109
</PackageReference>
110110
<PackageReference Include="NuGet.Services.Logging">
111-
<Version>2.39.0</Version>
111+
<Version>2.40.0</Version>
112112
</PackageReference>
113113
<PackageReference Include="NuGet.Services.Sql">
114-
<Version>2.39.0</Version>
114+
<Version>2.40.0</Version>
115115
</PackageReference>
116116
<PackageReference Include="System.Net.Http">
117117
<Version>4.3.3</Version>

src/NuGet.Services.Revalidate/NuGet.Services.Revalidate.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@
123123
<PrivateAssets>all</PrivateAssets>
124124
</PackageReference>
125125
<PackageReference Include="NuGet.Services.Status">
126-
<Version>2.39.0</Version>
126+
<Version>2.40.0</Version>
127127
</PackageReference>
128128
</ItemGroup>
129129
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
// Copyright (c) .NET Foundation. All rights reserved.
2+
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
3+
4+
namespace NuGet.Services.Validation.Orchestrator
5+
{
6+
public class FlatContainerConfiguration
7+
{
8+
public string ConnectionString { get; set; }
9+
}
10+
}

src/NuGet.Services.Validation.Orchestrator/EntityStatusProcessor.cs

Lines changed: 315 additions & 0 deletions
Large diffs are not rendered by default.

src/NuGet.Services.Validation.Orchestrator/Job.cs

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,9 @@ public class Job : JobBase
6161
private const string GalleryDbConfigurationSectionName = "GalleryDb";
6262
private const string ValidationDbConfigurationSectionName = "ValidationDb";
6363
private const string ServiceBusConfigurationSectionName = "ServiceBus";
64-
private const string SmtpConfigurationSectionName = "Smtp";
6564
private const string EmailConfigurationSectionName = "Email";
6665
private const string PackageDownloadTimeoutName = "PackageDownloadTimeout";
66+
private const string FlatContainerConfigurationSectionName = "FlatContainer";
6767

6868
private const string EmailBindingKey = EmailConfigurationSectionName;
6969
private const string PackageVerificationTopicClientBindingKey = "PackageVerificationTopicClient";
@@ -74,6 +74,7 @@ public class Job : JobBase
7474
private const string ScanBindingKey = "Scan";
7575
private const string ValidationStorageBindingKey = "ValidationStorage";
7676
private const string OrchestratorBindingKey = "Orchestrator";
77+
private const string CoreLicenseFileServiceBindingKey = "CoreLicenseFileService";
7778

7879
private const string SymbolsValidatorSectionName = "SymbolsValidator";
7980
private const string SymbolsValidationBindingKey = SymbolsValidatorSectionName;
@@ -124,7 +125,7 @@ private IConfigurationRoot GetConfigurationRoot(string configurationFilename, bo
124125
Logger.LogInformation("Using the {ConfigurationFilename} configuration file", configurationFilename);
125126
var builder = new ConfigurationBuilder()
126127
.SetBasePath(Environment.CurrentDirectory)
127-
.AddJsonFile(configurationFilename, optional: false, reloadOnChange: true);
128+
.AddJsonFile(configurationFilename, optional: false, reloadOnChange: false);
128129

129130
var uninjectedConfiguration = builder.Build();
130131

@@ -193,6 +194,7 @@ private void ConfigureJobServices(IServiceCollection services, IConfigurationRoo
193194
services.Configure<ScanAndSignConfiguration>(configurationRoot.GetSection(ScanAndSignSectionName));
194195
services.Configure<SymbolScanOnlyConfiguration>(configurationRoot.GetSection(SymbolScanOnlySectionName));
195196
services.Configure<ScanAndSignEnqueuerConfiguration>(configurationRoot.GetSection(ScanAndSignSectionName));
197+
services.Configure<FlatContainerConfiguration>(configurationRoot.GetSection(FlatContainerConfigurationSectionName));
196198

197199
services.Configure<SymbolsValidationConfiguration>(configurationRoot.GetSection(SymbolsValidatorSectionName));
198200
services.Configure<SymbolsIngesterConfiguration>(configurationRoot.GetSection(SymbolsIngesterSectionName));
@@ -243,7 +245,7 @@ private void ConfigureJobServices(IServiceCollection services, IConfigurationRoo
243245
});
244246
services.AddTransient<ICoreFileStorageService, CloudBlobCoreFileStorageService>();
245247
services.AddTransient<IFileDownloader, PackageDownloader>();
246-
services.AddTransient<IStatusProcessor<Package>, EntityStatusProcessor<Package>>();
248+
services.AddTransient<IStatusProcessor<Package>, PackageStatusProcessor>();
247249
services.AddTransient<IValidationSetProvider<Package>, ValidationSetProvider<Package>>();
248250
services.AddTransient<IValidationSetProcessor, ValidationSetProcessor>();
249251
services.AddTransient<IBrokeredMessageSerializer<SignatureValidationMessage>, SignatureValidationMessageSerializer>();
@@ -348,7 +350,7 @@ private static IServiceProvider CreateProvider(IServiceCollection services, ICon
348350
ConfigurePackageSigningValidators(containerBuilder);
349351
ConfigurePackageCertificatesValidator(containerBuilder);
350352
ConfigureScanAndSignProcessor(containerBuilder);
351-
ConfigureScanValidator(containerBuilder);
353+
ConfigureFlatContainer(containerBuilder);
352354
break;
353355
case ValidatingType.SymbolPackage:
354356
ConfigureSymbolScanValidator(containerBuilder);
@@ -492,19 +494,31 @@ private static void ConfigureSymbolScanValidator(ContainerBuilder builder)
492494
.AsSelf();
493495
}
494496

495-
private static void ConfigureScanValidator(ContainerBuilder builder)
497+
private static void ConfigureFlatContainer(ContainerBuilder builder)
496498
{
497499
builder
498-
.RegisterType<ValidatorStateService>()
499-
.WithParameter(
500-
(pi, ctx) => pi.ParameterType == typeof(string),
501-
(pi, ctx) => ValidatorName.ScanOnly)
502-
.Keyed<IValidatorStateService>(ScanBindingKey);
500+
.Register<CloudBlobClientWrapper>(c =>
501+
{
502+
var configurationAccessor = c.Resolve<IOptionsSnapshot<FlatContainerConfiguration>>();
503+
return new CloudBlobClientWrapper(
504+
configurationAccessor.Value.ConnectionString,
505+
readAccessGeoRedundant: false);
506+
})
507+
.Keyed<ICloudBlobClient>(CoreLicenseFileServiceBindingKey);
503508

504509
builder
505-
.RegisterType<ScanValidator>()
506-
.WithKeyedParameter(typeof(IValidatorStateService), ScanBindingKey)
507-
.AsSelf();
510+
.RegisterType<CloudBlobCoreFileStorageService>()
511+
.WithKeyedParameter(typeof(ICloudBlobClient), CoreLicenseFileServiceBindingKey)
512+
.Keyed<ICoreFileStorageService>(CoreLicenseFileServiceBindingKey);
513+
514+
builder
515+
.RegisterType<OrchestratorContentFileMetadataService>()
516+
.As<IContentFileMetadataService>();
517+
518+
builder
519+
.RegisterType<CoreLicenseFileService>()
520+
.WithKeyedParameter(typeof(ICoreFileStorageService), CoreLicenseFileServiceBindingKey)
521+
.As<ICoreLicenseFileService>();
508522
}
509523

510524
private static void ConfigureOrchestratorMessageHandler(IServiceCollection services, IConfigurationRoot configurationRoot)

src/NuGet.Services.Validation.Orchestrator/NuGet.Services.Validation.Orchestrator.csproj

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,19 +45,22 @@
4545
<ItemGroup>
4646
<Compile Include="BaseValidator.cs" />
4747
<Compile Include="Configuration\ConfigurationValidator.cs" />
48+
<Compile Include="Configuration\FlatContainerConfiguration.cs" />
4849
<Compile Include="Configuration\TopologicalSort.cs" />
4950
<Compile Include="ContainerBuilderExtensions.cs" />
5051
<Compile Include="Configuration\CoreMessageServiceConfiguration.cs" />
5152
<Compile Include="Configuration\EmailConfiguration.cs" />
53+
<Compile Include="EntityStatusProcessor.cs" />
5254
<Compile Include="Error.cs" />
55+
<Compile Include="PackageStatusProcessor.cs" />
5356
<Compile Include="Services\MessageServiceConfiguration.cs" />
57+
<Compile Include="Services\OrchestratorContentFileMetadataService.cs" />
5458
<Compile Include="Services\SymbolsMessageService.cs" />
5559
<Compile Include="SymbolsStatusProcessor.cs" />
5660
<Compile Include="Symbols\ISymbolsIngesterMessageEnqueuer.cs" />
5761
<Compile Include="Symbols\SymbolScanOnlyConfiguration.cs" />
5862
<Compile Include="Symbols\SymbolCriteriaEvaluator.cs" />
5963
<Compile Include="Symbols\SymbolScanValidator.cs" />
60-
<Compile Include="PackageSigning\Scan\ScanValidator.cs" />
6164
<Compile Include="Services\IEntityService.cs" />
6265
<Compile Include="Services\IMessageService.cs" />
6366
<Compile Include="IPackageStatusProcessor.cs" />
@@ -92,7 +95,6 @@
9295
<Compile Include="PackageSigning\ValidateCertificate\ValidateCertificateConfiguration.cs" />
9396
<Compile Include="PackageSigning\ValidateCertificate\ValidateCertificateEnqueuer.cs" />
9497
<Compile Include="PackageSigning\ProcessSignature\PackageSignatureValidator.cs" />
95-
<Compile Include="PackageStatusProcessor.cs" />
9698
<Compile Include="PackageValidationMessageDataSerializer.cs" />
9799
<Compile Include="Program.cs" />
98100
<Compile Include="Properties\AssemblyInfo.cs" />
@@ -160,7 +162,7 @@
160162
<PrivateAssets>all</PrivateAssets>
161163
</PackageReference>
162164
<PackageReference Include="NuGet.Services.Messaging.Email">
163-
<Version>2.39.0</Version>
165+
<Version>2.40.0</Version>
164166
</PackageReference>
165167
</ItemGroup>
166168
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

src/NuGet.Services.Validation.Orchestrator/PackageSigning/Scan/ScanValidator.cs

Lines changed: 0 additions & 128 deletions
This file was deleted.

0 commit comments

Comments
 (0)