From 9e7622903e33b9de6c2776f32fe10e40df69bbe9 Mon Sep 17 00:00:00 2001 From: "Matt Mitchell (.NET)" Date: Mon, 15 Jul 2024 10:27:03 -0700 Subject: [PATCH 1/3] Remove SAS support in arcade publishing Unused now, remove! --- .../Microsoft.DotNet.Build.Tasks.Feed.csproj | 1 - .../src/AssetPublisherFactory.cs | 19 +++--------- ...ageContainerAssetSasCredentialPublisher.cs | 29 ------------------- 3 files changed, 4 insertions(+), 45 deletions(-) delete mode 100644 src/Microsoft.DotNet.Build.Tasks.Feed/src/AzureStorageContainerAssetSasCredentialPublisher.cs diff --git a/src/Microsoft.DotNet.Build.Tasks.Feed/Microsoft.DotNet.Build.Tasks.Feed.csproj b/src/Microsoft.DotNet.Build.Tasks.Feed/Microsoft.DotNet.Build.Tasks.Feed.csproj index 65599c55952..b3526a491eb 100644 --- a/src/Microsoft.DotNet.Build.Tasks.Feed/Microsoft.DotNet.Build.Tasks.Feed.csproj +++ b/src/Microsoft.DotNet.Build.Tasks.Feed/Microsoft.DotNet.Build.Tasks.Feed.csproj @@ -60,7 +60,6 @@ - diff --git a/src/Microsoft.DotNet.Build.Tasks.Feed/src/AssetPublisherFactory.cs b/src/Microsoft.DotNet.Build.Tasks.Feed/src/AssetPublisherFactory.cs index 912d9483ad1..455f7ce8ad5 100644 --- a/src/Microsoft.DotNet.Build.Tasks.Feed/src/AssetPublisherFactory.cs +++ b/src/Microsoft.DotNet.Build.Tasks.Feed/src/AssetPublisherFactory.cs @@ -26,21 +26,10 @@ public virtual IAssetPublisher CreateAssetPublisher(TargetFeedConfig feedConfig, case FeedType.AzDoNugetFeed: return new AzureDevOpsNugetFeedAssetPublisher(_log, feedConfig.TargetURL, feedConfig.Token, task); case FeedType.AzureStorageContainer: - // If there is a SAS URI specified, use that. Otherwise use the default azure credential - if (!string.IsNullOrEmpty(feedConfig.Token)) - { - return new AzureStorageContainerAssetSasCredentialPublisher( - new Uri(feedConfig.TargetURL), - new AzureSasCredential(new Uri(feedConfig.Token).Query), - _log); - } - else - { - return new AzureStorageContainerAssetTokenCredentialPublisher( - new Uri(feedConfig.TargetURL), - new DefaultAzureCredential(new DefaultAzureCredentialOptions { ManagedIdentityClientId = task.ManagedIdentityClientId }), - _log); - } + return new AzureStorageContainerAssetTokenCredentialPublisher( + new Uri(feedConfig.TargetURL), + new DefaultAzureCredential(new DefaultAzureCredentialOptions { ManagedIdentityClientId = task.ManagedIdentityClientId }), + _log); default: throw new NotImplementedException(); } diff --git a/src/Microsoft.DotNet.Build.Tasks.Feed/src/AzureStorageContainerAssetSasCredentialPublisher.cs b/src/Microsoft.DotNet.Build.Tasks.Feed/src/AzureStorageContainerAssetSasCredentialPublisher.cs deleted file mode 100644 index df0ff74a9c7..00000000000 --- a/src/Microsoft.DotNet.Build.Tasks.Feed/src/AzureStorageContainerAssetSasCredentialPublisher.cs +++ /dev/null @@ -1,29 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using System; -using Azure; -using Azure.Storage.Blobs; -using Microsoft.Build.Utilities; - -namespace Microsoft.DotNet.Build.Tasks.Feed -{ - public class AzureStorageContainerAssetSasCredentialPublisher : AzureStorageAssetPublisher - { - private readonly Uri _containerUri; - private readonly AzureSasCredential _sasCredential; - - public AzureStorageContainerAssetSasCredentialPublisher(Uri containerUri, AzureSasCredential sasCredential, TaskLoggingHelper log) : base(log) - { - _containerUri = containerUri; - _sasCredential = sasCredential; - } - - public override BlobClient CreateBlobClient(string blobPath) - { - // When creating the blob client from the URI, only utilize the query parameters for the SAS uri (excluding the leading ?) - var containerClient = new BlobContainerClient(_containerUri, _sasCredential); - return containerClient.GetBlobClient(blobPath); - } - } -} From 7f7d877337d42781706ffa9308cc576e6572ae85 Mon Sep 17 00:00:00 2001 From: "Matt Mitchell (.NET)" Date: Mon, 15 Jul 2024 11:01:19 -0700 Subject: [PATCH 2/3] Remove other SAS uri parameters --- .../SdkTasks/PublishArtifactsInManifest.proj | 7 ------- .../src/PublishArtifactsInManifest.cs | 2 -- .../src/PublishArtifactsInManifestV3.cs | 2 -- .../src/model/SetupTargetFeedConfigV3.cs | 20 +------------------ 4 files changed, 1 insertion(+), 30 deletions(-) diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishArtifactsInManifest.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishArtifactsInManifest.proj index ec22931f5c4..4b9f16d3012 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishArtifactsInManifest.proj +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishArtifactsInManifest.proj @@ -105,12 +105,6 @@ - - - - - - @@ -161,7 +155,6 @@ StreamingPublishingMaxClients="$(StreamingPublishingMaxClients)" NonStreamingPublishingMaxClients="$(NonStreamingPublishingMaxClients)" FeedKeys="@(FeedKey)" - FeedSasUris="@(FeedSasUri)" FeedOverrides="@(FeedOverride)" /> diff --git a/src/Microsoft.DotNet.Build.Tasks.Feed/src/PublishArtifactsInManifest.cs b/src/Microsoft.DotNet.Build.Tasks.Feed/src/PublishArtifactsInManifest.cs index e1dccfad738..3c9960288f0 100644 --- a/src/Microsoft.DotNet.Build.Tasks.Feed/src/PublishArtifactsInManifest.cs +++ b/src/Microsoft.DotNet.Build.Tasks.Feed/src/PublishArtifactsInManifest.cs @@ -129,7 +129,6 @@ public class PublishArtifactsInManifest : MSBuildTaskBase public bool AllowFeedOverrides { get; set; } public ITaskItem[] FeedKeys { get; set; } - public ITaskItem[] FeedSasUris { get; set; } public ITaskItem[] FeedOverrides { get; set; } @@ -360,7 +359,6 @@ internal PublishArtifactsInManifestBase ConstructPublishingV3Task(BuildModel bui ManagedIdentityClientId = this.ManagedIdentityClientId, PublishInstallersAndChecksums = this.PublishInstallersAndChecksums, FeedKeys = this.FeedKeys, - FeedSasUris = this.FeedSasUris, FeedOverrides = this.FeedOverrides, AllowFeedOverrides = this.AllowFeedOverrides, PdbArtifactsBasePath = this.PdbArtifactsBasePath, diff --git a/src/Microsoft.DotNet.Build.Tasks.Feed/src/PublishArtifactsInManifestV3.cs b/src/Microsoft.DotNet.Build.Tasks.Feed/src/PublishArtifactsInManifestV3.cs index fdd1ec8e8bd..b032f63e69a 100644 --- a/src/Microsoft.DotNet.Build.Tasks.Feed/src/PublishArtifactsInManifestV3.cs +++ b/src/Microsoft.DotNet.Build.Tasks.Feed/src/PublishArtifactsInManifestV3.cs @@ -41,7 +41,6 @@ public class PublishArtifactsInManifestV3 : PublishArtifactsInManifestBase public bool AllowFeedOverrides { get; set; } public ITaskItem[] FeedKeys { get; set; } - public ITaskItem[] FeedSasUris { get; set; } public ITaskItem[] FeedOverrides { get; set; } @@ -150,7 +149,6 @@ public override async Task ExecuteAsync() commitSha: BuildModel.Identity.Commit, publishInstallersAndChecksums: PublishInstallersAndChecksums, feedKeys: FeedKeys, - feedSasUris: FeedSasUris, feedOverrides: AllowFeedOverrides ? FeedOverrides : Array.Empty(), latestLinkShortUrlPrefixes: shortLinkUrls, buildEngine: BuildEngine, diff --git a/src/Microsoft.DotNet.Build.Tasks.Feed/src/model/SetupTargetFeedConfigV3.cs b/src/Microsoft.DotNet.Build.Tasks.Feed/src/model/SetupTargetFeedConfigV3.cs index 37b71ecf65a..333578f076d 100644 --- a/src/Microsoft.DotNet.Build.Tasks.Feed/src/model/SetupTargetFeedConfigV3.cs +++ b/src/Microsoft.DotNet.Build.Tasks.Feed/src/model/SetupTargetFeedConfigV3.cs @@ -40,7 +40,6 @@ public SetupTargetFeedConfigV3( string commitSha, bool publishInstallersAndChecksums, ITaskItem[] feedKeys, - ITaskItem[] feedSasUris, ITaskItem[] feedOverrides, List latestLinkShortUrlPrefixes, IBuildEngine buildEngine, @@ -60,7 +59,6 @@ public SetupTargetFeedConfigV3( FilesToExclude = filesToExclude ?? ImmutableList.Empty; Flatten = flatten; FeedKeys = feedKeys.ToImmutableDictionary(i => i.ItemSpec, i => i.GetMetadata("Key")); - FeedSasUris = feedSasUris.ToImmutableDictionary(i => i.ItemSpec, i => ConvertFromBase64(i.GetMetadata("Base64Uri"))); FeedOverrides = feedOverrides.ToImmutableDictionary(i => i.ItemSpec, i => i.GetMetadata("Replacement")); AzureDevOpsFeedsKey = FeedKeys.TryGetValue("https://pkgs.dev.azure.com/dnceng", out string key) ? key : null; Log = log; @@ -77,8 +75,6 @@ private static string ConvertFromBase64(string value) public ImmutableDictionary FeedOverrides { get; set; } - public ImmutableDictionary FeedSasUris { get; set; } - public ImmutableDictionary FeedKeys { get; set; } public override List Setup() @@ -157,7 +153,6 @@ private IEnumerable Feeds() feed = newFeed; } var key = GetFeedKey(feed); - var sasUri = GetFeedSasUri(feed); var feedType = feed.StartsWith("https://pkgs.dev.azure.com") ? FeedType.AzDoNugetFeed : FeedType.AzureStorageContainer; @@ -173,7 +168,7 @@ private IEnumerable Feeds() type, feed, feedType, - sasUri ?? key, + key, LatestLinkShortUrlPrefixes, spec.Assets, false, @@ -255,19 +250,6 @@ private string GetFeedOverride(string feed) return feed; } - private string GetFeedSasUri(string feed) - { - foreach (var prefix in FeedSasUris.Keys.OrderByDescending(f => f.Length)) - { - if (feed.StartsWith(prefix, StringComparison.OrdinalIgnoreCase)) - { - return FeedSasUris[prefix]; - } - } - - return null; - } - private string GetFeedKey(string feed) { foreach (var prefix in FeedKeys.Keys.OrderByDescending(f => f.Length)) From 7d8eace805887d02777012233657eba636a33280 Mon Sep 17 00:00:00 2001 From: "Matt Mitchell (.NET)" Date: Mon, 15 Jul 2024 11:50:16 -0700 Subject: [PATCH 3/3] Remove extra param --- .../SetupTargetFeedConfigV3Tests.cs | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/Microsoft.DotNet.Build.Tasks.Feed.Tests/SetupTargetFeedConfigV3Tests.cs b/src/Microsoft.DotNet.Build.Tasks.Feed.Tests/SetupTargetFeedConfigV3Tests.cs index c3e924d5006..b5b8ad21316 100644 --- a/src/Microsoft.DotNet.Build.Tasks.Feed.Tests/SetupTargetFeedConfigV3Tests.cs +++ b/src/Microsoft.DotNet.Build.Tasks.Feed.Tests/SetupTargetFeedConfigV3Tests.cs @@ -180,7 +180,6 @@ public void StableFeeds(bool publishInstallersAndChecksums, bool isInternalBuild publishInstallersAndChecksums, FeedKeys, Array.Empty(), - Array.Empty(), new List() { $"{LatestLinkShortUrlPrefix}/{BuildQuality}" }, buildEngine, symbolTargetType, @@ -289,7 +288,6 @@ public void NonStableAndInternal(bool publishInstallersAndChecksums) publishInstallersAndChecksums, FeedKeys, Array.Empty(), - Array.Empty(), latestLinkShortUrlPrefixes: new List() { $"{LatestLinkShortUrlPrefix}/{BuildQuality}" }, buildEngine: buildEngine, symbolTargetType, @@ -397,7 +395,6 @@ public void NonStableAndPublic(bool publishInstallersAndChecksums) publishInstallersAndChecksums, FeedKeys, Array.Empty(), - Array.Empty(), latestLinkShortUrlPrefixes: new List() { $"{LatestLinkShortUrlPrefix}/{BuildQuality}" }, buildEngine: buildEngine, symbolTargetType,