From af77a131a75d530aab9bab047af3ff61e655fe6a Mon Sep 17 00:00:00 2001 From: Alastair Pitts Date: Tue, 9 Jun 2026 14:57:51 +1000 Subject: [PATCH 1/2] What if Azure didn't have AWS libraries bundled in? --- source/Calamari.Aws/Calamari.Aws.csproj | 2 +- .../ApplyCloudFormationChangesetCommand.cs | 2 +- .../Commands/CreateAwsS3Command.cs | 1 + .../Commands/DeleteCloudFormationCommand.cs | 1 + .../DeployAwsCloudFormationCommand.cs | 1 + .../Commands/DeployEcsServiceCommand.cs | 1 + .../Commands/EcsClusterHealthCheck.cs | 1 + .../Commands/UpdateEcsServiceCommand.cs | 1 + .../Commands/UploadAwsS3Command.cs | 1 + .../Conventions/CreateS3BucketConvention.cs | 1 + .../DeleteCloudFormationStackConvention.cs | 1 + .../DeployAwsCloudFormationConvention.cs | 1 + .../Conventions/DeployEcsServiceConvention.cs | 1 + .../Conventions/LogAwsUserInfoConvention.cs | 1 + .../SetEcsOutputVariablesConvention.cs | 1 + .../Conventions/UpdateEcsServiceConvention.cs | 1 + .../Conventions/UploadAwsS3Convention.cs | 1 + .../Integration/AwsAuthConvention.cs | 1 + .../Integration/AwsScriptWrapper.cs | 1 + .../Templates/CloudFormationS3Template.cs | 1 + .../Integration/Ecs/EcsClientFactory.cs | 1 + source/Calamari.Aws/Util/ClientExtensions.cs | 1 + .../AppServices/AzureTargetSite.cs | 1 + source/Calamari.Azure/AzureClient.cs | 1 + source/Calamari.Azure/Calamari.Azure.csproj | 2 +- .../Discovery/AzureKubernetesDiscoverer.cs | 1 + .../AppServiceIntegrationTest.cs | 1 + .../AzureAppServiceAppSettingsBehaviour.cs | 1 + ...AzureAppServiceContainerDeployBehaviour.cs | 1 + .../AzureAppServiceZipDeployBehaviour.cs | 1 + .../Behaviors/RestartAzureWebAppBehaviour.cs | 1 + .../Behaviors/TargetDiscoveryBehaviour.cs | 1 + .../Calamari.AzureAppService.csproj | 1 - .../HealthCheckCommand.cs | 1 + .../AzureResourceGroupActionHandlerFixture.cs | 5 +- .../DeployAzureBicepTemplateCommandFixture.cs | 5 +- .../Bicep/DeployBicepTemplateBehaviour.cs | 1 + .../DeployAzureResourceGroupBehaviour.cs | 3 +- .../AzureContextScriptWrapper.cs | 5 +- .../Calamari.AzureScripting.csproj | 2 +- .../DeployAzureWebCommandFixture.cs | 5 +- .../AzureWebAppBehaviour.cs | 1 + .../Calamari.AzureWebApp.csproj | 1 - .../ResourceManagerPublishProfileProvider.cs | 1 + .../LogAzureWebAppDetailsBehaviour.cs | 1 + .../AwsAccountVariables.cs | 8 + .../AwsAuthenticationProvider.cs | 12 +- .../AwsEnvironmentGeneration.cs | 5 +- .../Calamari.CloudAccounts.Aws.csproj} | 18 +- .../Properties/AssemblyInfo.cs | 3 + .../AuthHttpClientFactory.cs | 4 +- .../AzureAccountFactory.cs | 5 +- .../AzureAccountVariables.cs | 16 ++ ...ContainerRegistryAuthenticationProvider.cs | 7 +- .../AzureOidcAccount.cs | 17 +- .../AzureOidcAccountExtensions.cs | 5 +- .../AzureServicePrincipalAccount.cs | 17 +- .../AzureServicePrincipalAccountExtensions.cs | 4 +- .../Calamari.CloudAccounts.Azure.csproj | 24 +++ .../DefaultVariables.cs | 2 +- .../IAzureAccount.cs | 4 +- .../Calamari.CloudAccounts.GoogleCloud.csproj | 24 +++ .../GoogleAccountVariables.cs | 6 + .../GoogleAuthenticationProvider.cs | 8 +- .../AccountVariables.cs | 16 -- .../AzureAccountVariables.cs | 15 -- .../Properties/AssemblyInfo.cs | 3 - .../Variables/AuthenticationVariables.cs | 12 -- source/Calamari.Shared/Calamari.Shared.csproj | 1 - .../Certificates/FileSystem/PackageStore.cs | 1 - .../CommandsFixture.cs | 1 + .../Behaviours/TerraformDeployBehaviour.cs | 3 +- .../Calamari.Terraform.csproj | 4 +- .../AWS/AwsAuthenticationProviderFixture.cs | 3 +- .../AWS/AwsEnvironmentGenerationFixture.cs | 1 + .../SetEcsOutputVariablesConventionTests.cs | 1 + .../Azure/AzureClientFixture.cs | 1 + ...netesContextScriptWrapperLiveFixtureAks.cs | 1 + ...rapperLiveFixtureAksLocalAccessDisabled.cs | 1 + source/Calamari.sln | 24 ++- source/Calamari/Calamari.csproj | 5 + .../Download/AcrFeedLoginDetailsProvider.cs | 1 + .../Download/ArtifactoryPackageDownloader.cs | 0 .../Download/DockerCredentialHelper.cs | 2 +- .../Download/DockerImagePackageDownloader.cs | 0 .../Download/EcrFeedLoginDetailsProvider.cs | 4 +- .../Download/GcrFeedLoginDetailsProvider.cs | 4 +- .../Download/GcsStoragePackageDownloader.cs | 0 .../Download/GitHubPackageDownloader.cs | 9 +- .../Download/Helm/HelmEndpointProxy.cs | 0 .../Download/Helm/HelmIndexYamlReader.cs | 0 .../Download/HelmChartPackageDownloader.cs | 0 .../IFeedLoginDetailsProviderFactory.cs | 0 .../Packages/Download/IPackageDownloader.cs | 0 .../Download/IPackageDownloaderUtils.cs | 0 .../Download/MavenDownloadException.cs | 0 .../Download/MavenPackageDownloader.cs | 160 ++++++++++-------- .../Packages/Download/NpmPackageDownloader.cs | 0 .../Download/NuGetPackageDownloader.cs | 0 .../Packages/Download/OciPackageDownloader.cs | 0 .../Download/PackageDownloaderRetryUtils.cs | 0 .../Download/PackageDownloaderStrategy.cs | 0 .../Download/PackageDownloaderUtils.cs | 0 .../Download/PyPiPackageDownloader.cs | 0 .../Packages/Download/S3PackageDownloader.cs | 3 +- .../Packages/Download/ScriptExtractor.cs | 0 .../Packages/Download/Scripts/DockerLogin.ps1 | 0 .../Packages/Download/Scripts/DockerLogin.sh | 0 .../Packages/Download/Scripts/DockerPull.ps1 | 0 .../Packages/Download/Scripts/DockerPull.sh | 0 .../NuGet/InternalNuGetPackageDownloader.cs | 0 .../NuGet/NuGetFileSystemDownloader.cs | 0 .../Packages/NuGet/NuGetServiceTypes.cs | 0 .../Packages/NuGet/NuGetV3LibDownloader.cs | 0 .../Kubernetes/Authentication/AwsCliAuth.cs | 1 + 115 files changed, 318 insertions(+), 215 deletions(-) create mode 100644 source/Calamari.CloudAccounts.Aws/AwsAccountVariables.cs rename source/{Calamari.CloudAccounts => Calamari.CloudAccounts.Aws}/AwsAuthenticationProvider.cs (91%) rename source/{Calamari.CloudAccounts => Calamari.CloudAccounts.Aws}/AwsEnvironmentGeneration.cs (99%) rename source/{Calamari.CloudAccounts/Calamari.CloudAccounts.csproj => Calamari.CloudAccounts.Aws/Calamari.CloudAccounts.Aws.csproj} (50%) create mode 100644 source/Calamari.CloudAccounts.Aws/Properties/AssemblyInfo.cs rename source/{Calamari.CloudAccounts => Calamari.CloudAccounts.Azure}/AuthHttpClientFactory.cs (92%) rename source/{Calamari.CloudAccounts => Calamari.CloudAccounts.Azure}/AzureAccountFactory.cs (80%) create mode 100644 source/Calamari.CloudAccounts.Azure/AzureAccountVariables.cs rename source/{Calamari.CloudAccounts => Calamari.CloudAccounts.Azure}/AzureContainerRegistryAuthenticationProvider.cs (97%) rename source/{Calamari.CloudAccounts => Calamari.CloudAccounts.Azure}/AzureOidcAccount.cs (74%) rename source/{Calamari.CloudAccounts => Calamari.CloudAccounts.Azure}/AzureOidcAccountExtensions.cs (96%) rename source/{Calamari.CloudAccounts => Calamari.CloudAccounts.Azure}/AzureServicePrincipalAccount.cs (66%) rename source/{Calamari.CloudAccounts => Calamari.CloudAccounts.Azure}/AzureServicePrincipalAccountExtensions.cs (97%) create mode 100644 source/Calamari.CloudAccounts.Azure/Calamari.CloudAccounts.Azure.csproj rename source/{Calamari.CloudAccounts => Calamari.CloudAccounts.Azure}/DefaultVariables.cs (91%) rename source/{Calamari.CloudAccounts => Calamari.CloudAccounts.Azure}/IAzureAccount.cs (89%) create mode 100644 source/Calamari.CloudAccounts.GoogleCloud/Calamari.CloudAccounts.GoogleCloud.csproj create mode 100644 source/Calamari.CloudAccounts.GoogleCloud/GoogleAccountVariables.cs rename source/{Calamari.CloudAccounts => Calamari.CloudAccounts.GoogleCloud}/GoogleAuthenticationProvider.cs (94%) delete mode 100644 source/Calamari.CloudAccounts/AccountVariables.cs delete mode 100644 source/Calamari.CloudAccounts/AzureAccountVariables.cs delete mode 100644 source/Calamari.CloudAccounts/Properties/AssemblyInfo.cs rename source/{Calamari.Shared => Calamari}/Integration/Packages/Download/AcrFeedLoginDetailsProvider.cs (96%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/Download/ArtifactoryPackageDownloader.cs (100%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/Download/DockerCredentialHelper.cs (98%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/Download/DockerImagePackageDownloader.cs (100%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/Download/EcrFeedLoginDetailsProvider.cs (97%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/Download/GcrFeedLoginDetailsProvider.cs (86%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/Download/GcsStoragePackageDownloader.cs (100%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/Download/GitHubPackageDownloader.cs (98%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/Download/Helm/HelmEndpointProxy.cs (100%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/Download/Helm/HelmIndexYamlReader.cs (100%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/Download/HelmChartPackageDownloader.cs (100%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/Download/IFeedLoginDetailsProviderFactory.cs (100%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/Download/IPackageDownloader.cs (100%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/Download/IPackageDownloaderUtils.cs (100%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/Download/MavenDownloadException.cs (100%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/Download/MavenPackageDownloader.cs (68%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/Download/NpmPackageDownloader.cs (100%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/Download/NuGetPackageDownloader.cs (100%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/Download/OciPackageDownloader.cs (100%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/Download/PackageDownloaderRetryUtils.cs (100%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/Download/PackageDownloaderStrategy.cs (100%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/Download/PackageDownloaderUtils.cs (100%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/Download/PyPiPackageDownloader.cs (100%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/Download/S3PackageDownloader.cs (98%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/Download/ScriptExtractor.cs (100%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/Download/Scripts/DockerLogin.ps1 (100%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/Download/Scripts/DockerLogin.sh (100%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/Download/Scripts/DockerPull.ps1 (100%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/Download/Scripts/DockerPull.sh (100%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/NuGet/InternalNuGetPackageDownloader.cs (100%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/NuGet/NuGetFileSystemDownloader.cs (100%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/NuGet/NuGetServiceTypes.cs (100%) rename source/{Calamari.Shared => Calamari}/Integration/Packages/NuGet/NuGetV3LibDownloader.cs (100%) diff --git a/source/Calamari.Aws/Calamari.Aws.csproj b/source/Calamari.Aws/Calamari.Aws.csproj index 435e3e63b5..9e0ebb4b50 100644 --- a/source/Calamari.Aws/Calamari.Aws.csproj +++ b/source/Calamari.Aws/Calamari.Aws.csproj @@ -31,7 +31,7 @@ - + diff --git a/source/Calamari.Aws/Commands/ApplyCloudFormationChangesetCommand.cs b/source/Calamari.Aws/Commands/ApplyCloudFormationChangesetCommand.cs index 8d13e28968..79946aeec9 100644 --- a/source/Calamari.Aws/Commands/ApplyCloudFormationChangesetCommand.cs +++ b/source/Calamari.Aws/Commands/ApplyCloudFormationChangesetCommand.cs @@ -6,7 +6,7 @@ using Calamari.Aws.Deployment.Conventions; using Calamari.Aws.Integration.CloudFormation; using Calamari.Aws.Util; -using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Aws; using Calamari.Commands.Support; using Calamari.Common.Commands; using Calamari.Common.Plumbing.Logging; diff --git a/source/Calamari.Aws/Commands/CreateAwsS3Command.cs b/source/Calamari.Aws/Commands/CreateAwsS3Command.cs index 0f57ccc718..dcbc8afc0a 100644 --- a/source/Calamari.Aws/Commands/CreateAwsS3Command.cs +++ b/source/Calamari.Aws/Commands/CreateAwsS3Command.cs @@ -9,6 +9,7 @@ using Calamari.Aws.Integration.CloudFormation.Templates; using Calamari.Aws.Util; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Aws; using Calamari.Commands.Support; using Calamari.Common.Commands; using Calamari.Common.Plumbing; diff --git a/source/Calamari.Aws/Commands/DeleteCloudFormationCommand.cs b/source/Calamari.Aws/Commands/DeleteCloudFormationCommand.cs index 9dd80ab868..8691ef445b 100644 --- a/source/Calamari.Aws/Commands/DeleteCloudFormationCommand.cs +++ b/source/Calamari.Aws/Commands/DeleteCloudFormationCommand.cs @@ -7,6 +7,7 @@ using Calamari.Aws.Integration.CloudFormation; using Calamari.Aws.Util; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Aws; using Calamari.Commands.Support; using Calamari.Common.Commands; using Calamari.Common.Plumbing.Logging; diff --git a/source/Calamari.Aws/Commands/DeployAwsCloudFormationCommand.cs b/source/Calamari.Aws/Commands/DeployAwsCloudFormationCommand.cs index 30fd869a44..09b0eca2ca 100644 --- a/source/Calamari.Aws/Commands/DeployAwsCloudFormationCommand.cs +++ b/source/Calamari.Aws/Commands/DeployAwsCloudFormationCommand.cs @@ -11,6 +11,7 @@ using Calamari.Aws.Integration.CloudFormation.Templates; using Calamari.Aws.Util; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Aws; using Calamari.Commands; using Calamari.Common.Commands; using Calamari.Common.Features.Behaviours; diff --git a/source/Calamari.Aws/Commands/DeployEcsServiceCommand.cs b/source/Calamari.Aws/Commands/DeployEcsServiceCommand.cs index 2bda1b7d0e..76f34370fe 100644 --- a/source/Calamari.Aws/Commands/DeployEcsServiceCommand.cs +++ b/source/Calamari.Aws/Commands/DeployEcsServiceCommand.cs @@ -3,6 +3,7 @@ using Calamari.Aws.Inputs.Ecs; using Calamari.Aws.Integration.Ecs; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Aws; using Calamari.Commands.Support; using Calamari.Common.Commands; using Calamari.Common.Plumbing.Logging; diff --git a/source/Calamari.Aws/Commands/EcsClusterHealthCheck.cs b/source/Calamari.Aws/Commands/EcsClusterHealthCheck.cs index 3f11efd137..bab862d869 100644 --- a/source/Calamari.Aws/Commands/EcsClusterHealthCheck.cs +++ b/source/Calamari.Aws/Commands/EcsClusterHealthCheck.cs @@ -5,6 +5,7 @@ using Calamari.Aws.Deployment.Conventions; using Calamari.Aws.Integration.Ecs; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Aws; using Calamari.Commands.Support; using Calamari.Common.Commands; using Calamari.Common.Plumbing.Logging; diff --git a/source/Calamari.Aws/Commands/UpdateEcsServiceCommand.cs b/source/Calamari.Aws/Commands/UpdateEcsServiceCommand.cs index d27ffe93e9..6f51f9ba51 100644 --- a/source/Calamari.Aws/Commands/UpdateEcsServiceCommand.cs +++ b/source/Calamari.Aws/Commands/UpdateEcsServiceCommand.cs @@ -4,6 +4,7 @@ using Calamari.Aws.Deployment.Conventions; using Calamari.Aws.Integration.Ecs; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Aws; using Calamari.Commands.Support; using Calamari.Common.Commands; using Calamari.Common.Plumbing; diff --git a/source/Calamari.Aws/Commands/UploadAwsS3Command.cs b/source/Calamari.Aws/Commands/UploadAwsS3Command.cs index b2d2d677e4..f987416615 100644 --- a/source/Calamari.Aws/Commands/UploadAwsS3Command.cs +++ b/source/Calamari.Aws/Commands/UploadAwsS3Command.cs @@ -4,6 +4,7 @@ using Calamari.Aws.Deployment.Conventions; using Calamari.Aws.Integration.S3; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Aws; using Calamari.Commands; using Calamari.Commands.Support; using Calamari.Common.Commands; diff --git a/source/Calamari.Aws/Deployment/Conventions/CreateS3BucketConvention.cs b/source/Calamari.Aws/Deployment/Conventions/CreateS3BucketConvention.cs index ba4735c797..7dc721959a 100644 --- a/source/Calamari.Aws/Deployment/Conventions/CreateS3BucketConvention.cs +++ b/source/Calamari.Aws/Deployment/Conventions/CreateS3BucketConvention.cs @@ -4,6 +4,7 @@ using Amazon.S3.Model; using Calamari.Aws.Util; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Aws; using Calamari.Common.Commands; using Calamari.Common.Plumbing; using Calamari.Common.Plumbing.Logging; diff --git a/source/Calamari.Aws/Deployment/Conventions/DeleteCloudFormationStackConvention.cs b/source/Calamari.Aws/Deployment/Conventions/DeleteCloudFormationStackConvention.cs index 1a433b382c..f502adba6f 100644 --- a/source/Calamari.Aws/Deployment/Conventions/DeleteCloudFormationStackConvention.cs +++ b/source/Calamari.Aws/Deployment/Conventions/DeleteCloudFormationStackConvention.cs @@ -3,6 +3,7 @@ using Amazon.CloudFormation; using Calamari.Aws.Integration.CloudFormation; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Aws; using Calamari.Common.Commands; using Calamari.Common.Plumbing; using Calamari.Common.Plumbing.Logging; diff --git a/source/Calamari.Aws/Deployment/Conventions/DeployAwsCloudFormationConvention.cs b/source/Calamari.Aws/Deployment/Conventions/DeployAwsCloudFormationConvention.cs index 2ae4c62bc2..505c81a870 100644 --- a/source/Calamari.Aws/Deployment/Conventions/DeployAwsCloudFormationConvention.cs +++ b/source/Calamari.Aws/Deployment/Conventions/DeployAwsCloudFormationConvention.cs @@ -8,6 +8,7 @@ using Calamari.Aws.Integration.CloudFormation.Templates; using Calamari.Aws.Util; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Aws; using Calamari.Common.Commands; using Calamari.Common.Plumbing; using Calamari.Common.Plumbing.Logging; diff --git a/source/Calamari.Aws/Deployment/Conventions/DeployEcsServiceConvention.cs b/source/Calamari.Aws/Deployment/Conventions/DeployEcsServiceConvention.cs index 42d3a3f974..fd06dfe1ab 100644 --- a/source/Calamari.Aws/Deployment/Conventions/DeployEcsServiceConvention.cs +++ b/source/Calamari.Aws/Deployment/Conventions/DeployEcsServiceConvention.cs @@ -8,6 +8,7 @@ using Calamari.Aws.Integration.Ecs.Deploy; using Calamari.Aws.Util; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Aws; using Calamari.Common.Commands; using Calamari.Common.Plumbing.Logging; using Calamari.Common.Plumbing.Variables; diff --git a/source/Calamari.Aws/Deployment/Conventions/LogAwsUserInfoConvention.cs b/source/Calamari.Aws/Deployment/Conventions/LogAwsUserInfoConvention.cs index 6e597acbc2..2e0dfc75d7 100644 --- a/source/Calamari.Aws/Deployment/Conventions/LogAwsUserInfoConvention.cs +++ b/source/Calamari.Aws/Deployment/Conventions/LogAwsUserInfoConvention.cs @@ -8,6 +8,7 @@ using Amazon.SecurityToken.Model; using Calamari.Aws.Util; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Aws; using Calamari.Common.Commands; using Calamari.Common.Plumbing; using Calamari.Common.Plumbing.Logging; diff --git a/source/Calamari.Aws/Deployment/Conventions/SetEcsOutputVariablesConvention.cs b/source/Calamari.Aws/Deployment/Conventions/SetEcsOutputVariablesConvention.cs index 148595f1ca..7ce98d1a86 100644 --- a/source/Calamari.Aws/Deployment/Conventions/SetEcsOutputVariablesConvention.cs +++ b/source/Calamari.Aws/Deployment/Conventions/SetEcsOutputVariablesConvention.cs @@ -4,6 +4,7 @@ using Amazon.CloudFormation.Model; using Calamari.Aws.Util; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Aws; using Calamari.Common.Commands; using Calamari.Common.Plumbing.Logging; using Calamari.Common.Plumbing.Variables; diff --git a/source/Calamari.Aws/Deployment/Conventions/UpdateEcsServiceConvention.cs b/source/Calamari.Aws/Deployment/Conventions/UpdateEcsServiceConvention.cs index 31c221790e..bff5d008f7 100644 --- a/source/Calamari.Aws/Deployment/Conventions/UpdateEcsServiceConvention.cs +++ b/source/Calamari.Aws/Deployment/Conventions/UpdateEcsServiceConvention.cs @@ -6,6 +6,7 @@ using Amazon.ECS.Model; using Calamari.Aws.Integration.Ecs; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Aws; using Calamari.Common.Commands; using Calamari.Common.Plumbing.Logging; using Calamari.Common.Plumbing.Variables; diff --git a/source/Calamari.Aws/Deployment/Conventions/UploadAwsS3Convention.cs b/source/Calamari.Aws/Deployment/Conventions/UploadAwsS3Convention.cs index cb57eff33b..ad8a98ccb3 100644 --- a/source/Calamari.Aws/Deployment/Conventions/UploadAwsS3Convention.cs +++ b/source/Calamari.Aws/Deployment/Conventions/UploadAwsS3Convention.cs @@ -12,6 +12,7 @@ using Calamari.Aws.Integration.S3; using Calamari.Aws.Util; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Aws; using Calamari.Common.Commands; using Calamari.Common.Features.Packages; using Calamari.Common.Features.StructuredVariables; diff --git a/source/Calamari.Aws/Integration/AwsAuthConvention.cs b/source/Calamari.Aws/Integration/AwsAuthConvention.cs index 4d142b0ea1..026542a600 100644 --- a/source/Calamari.Aws/Integration/AwsAuthConvention.cs +++ b/source/Calamari.Aws/Integration/AwsAuthConvention.cs @@ -1,6 +1,7 @@ using System; using System.Threading.Tasks; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Aws; using Calamari.Common.Commands; using Calamari.Common.Plumbing.Logging; using Calamari.Common.Plumbing.Variables; diff --git a/source/Calamari.Aws/Integration/AwsScriptWrapper.cs b/source/Calamari.Aws/Integration/AwsScriptWrapper.cs index bb98c55ff8..a683caa5c6 100644 --- a/source/Calamari.Aws/Integration/AwsScriptWrapper.cs +++ b/source/Calamari.Aws/Integration/AwsScriptWrapper.cs @@ -3,6 +3,7 @@ using System.Threading.Tasks; using Calamari.Aws.Deployment; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Aws; using Calamari.Common.Features.Processes; using Calamari.Common.Features.Scripting; using Calamari.Common.Features.Scripts; diff --git a/source/Calamari.Aws/Integration/CloudFormation/Templates/CloudFormationS3Template.cs b/source/Calamari.Aws/Integration/CloudFormation/Templates/CloudFormationS3Template.cs index 2965c9123a..00b4052b77 100644 --- a/source/Calamari.Aws/Integration/CloudFormation/Templates/CloudFormationS3Template.cs +++ b/source/Calamari.Aws/Integration/CloudFormation/Templates/CloudFormationS3Template.cs @@ -11,6 +11,7 @@ using Calamari.Aws.Deployment; using Calamari.Aws.Util; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Aws; using Calamari.Common.Commands; using Calamari.Common.Plumbing.FileSystem; using Calamari.Common.Plumbing.Logging; diff --git a/source/Calamari.Aws/Integration/Ecs/EcsClientFactory.cs b/source/Calamari.Aws/Integration/Ecs/EcsClientFactory.cs index 643f9e71f2..95559730da 100644 --- a/source/Calamari.Aws/Integration/Ecs/EcsClientFactory.cs +++ b/source/Calamari.Aws/Integration/Ecs/EcsClientFactory.cs @@ -1,6 +1,7 @@ using Amazon.ECS; using Calamari.Aws.Util; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Aws; namespace Calamari.Aws.Integration.Ecs; diff --git a/source/Calamari.Aws/Util/ClientExtensions.cs b/source/Calamari.Aws/Util/ClientExtensions.cs index 1821803448..60a2c1701a 100644 --- a/source/Calamari.Aws/Util/ClientExtensions.cs +++ b/source/Calamari.Aws/Util/ClientExtensions.cs @@ -4,6 +4,7 @@ using Amazon.S3; using Amazon.SecurityToken; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Aws; using Octopus.CoreUtilities.Extensions; namespace Calamari.Aws.Util; diff --git a/source/Calamari.Azure/AppServices/AzureTargetSite.cs b/source/Calamari.Azure/AppServices/AzureTargetSite.cs index 1a07d338ea..7946541aff 100644 --- a/source/Calamari.Azure/AppServices/AzureTargetSite.cs +++ b/source/Calamari.Azure/AppServices/AzureTargetSite.cs @@ -3,6 +3,7 @@ using Azure.Core; using Azure.ResourceManager.AppService; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Azure; using Calamari.Common.Plumbing.Logging; using Calamari.Common.Plumbing.Variables; diff --git a/source/Calamari.Azure/AzureClient.cs b/source/Calamari.Azure/AzureClient.cs index 1dd2bfbdfd..f43885106a 100644 --- a/source/Calamari.Azure/AzureClient.cs +++ b/source/Calamari.Azure/AzureClient.cs @@ -8,6 +8,7 @@ using Azure.Identity; using Azure.ResourceManager; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Azure; namespace Calamari.Azure { diff --git a/source/Calamari.Azure/Calamari.Azure.csproj b/source/Calamari.Azure/Calamari.Azure.csproj index 35b6599c7f..e89dc3dd7a 100644 --- a/source/Calamari.Azure/Calamari.Azure.csproj +++ b/source/Calamari.Azure/Calamari.Azure.csproj @@ -16,6 +16,6 @@ - + diff --git a/source/Calamari.Azure/Kubernetes/Discovery/AzureKubernetesDiscoverer.cs b/source/Calamari.Azure/Kubernetes/Discovery/AzureKubernetesDiscoverer.cs index 810365b0ce..e7fe9b17b3 100644 --- a/source/Calamari.Azure/Kubernetes/Discovery/AzureKubernetesDiscoverer.cs +++ b/source/Calamari.Azure/Kubernetes/Discovery/AzureKubernetesDiscoverer.cs @@ -7,6 +7,7 @@ using Azure.ResourceManager; using Azure.ResourceManager.ContainerService; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Azure; using Calamari.Common.Features.Discovery; using Calamari.Common.Plumbing.Logging; using Newtonsoft.Json; diff --git a/source/Calamari.AzureAppService.Tests/AppServiceIntegrationTest.cs b/source/Calamari.AzureAppService.Tests/AppServiceIntegrationTest.cs index 08dfb8a3b8..2b313ac003 100644 --- a/source/Calamari.AzureAppService.Tests/AppServiceIntegrationTest.cs +++ b/source/Calamari.AzureAppService.Tests/AppServiceIntegrationTest.cs @@ -15,6 +15,7 @@ using Calamari.Azure.AppServices; using Calamari.AzureAppService.Azure; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Azure; using Calamari.Testing; using Calamari.Testing.Azure; using FluentAssertions; diff --git a/source/Calamari.AzureAppService/Behaviors/AzureAppServiceAppSettingsBehaviour.cs b/source/Calamari.AzureAppService/Behaviors/AzureAppServiceAppSettingsBehaviour.cs index 9edf2ae564..bb443c51db 100644 --- a/source/Calamari.AzureAppService/Behaviors/AzureAppServiceAppSettingsBehaviour.cs +++ b/source/Calamari.AzureAppService/Behaviors/AzureAppServiceAppSettingsBehaviour.cs @@ -10,6 +10,7 @@ using Calamari.Azure.AppServices; using Calamari.AzureAppService.Azure; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Azure; using Calamari.Common.Commands; using Calamari.Common.Plumbing.Logging; using Calamari.Common.Plumbing.Pipeline; diff --git a/source/Calamari.AzureAppService/Behaviors/AzureAppServiceContainerDeployBehaviour.cs b/source/Calamari.AzureAppService/Behaviors/AzureAppServiceContainerDeployBehaviour.cs index b8fa672353..3d0acbe952 100644 --- a/source/Calamari.AzureAppService/Behaviors/AzureAppServiceContainerDeployBehaviour.cs +++ b/source/Calamari.AzureAppService/Behaviors/AzureAppServiceContainerDeployBehaviour.cs @@ -6,6 +6,7 @@ using Calamari.Azure.AppServices; using Calamari.AzureAppService.Azure; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Azure; using Calamari.Common.Commands; using Calamari.Common.Plumbing.Logging; using Calamari.Common.Plumbing.Pipeline; diff --git a/source/Calamari.AzureAppService/Behaviors/AzureAppServiceZipDeployBehaviour.cs b/source/Calamari.AzureAppService/Behaviors/AzureAppServiceZipDeployBehaviour.cs index 865f90b66f..e3ecfa1dc8 100644 --- a/source/Calamari.AzureAppService/Behaviors/AzureAppServiceZipDeployBehaviour.cs +++ b/source/Calamari.AzureAppService/Behaviors/AzureAppServiceZipDeployBehaviour.cs @@ -17,6 +17,7 @@ using Calamari.Azure.AppServices; using Calamari.AzureAppService.Azure; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Azure; using Calamari.Common.Commands; using Calamari.Common.FeatureToggles; using Calamari.Common.Plumbing.Extensions; diff --git a/source/Calamari.AzureAppService/Behaviors/RestartAzureWebAppBehaviour.cs b/source/Calamari.AzureAppService/Behaviors/RestartAzureWebAppBehaviour.cs index 1d535b0d31..121564f130 100644 --- a/source/Calamari.AzureAppService/Behaviors/RestartAzureWebAppBehaviour.cs +++ b/source/Calamari.AzureAppService/Behaviors/RestartAzureWebAppBehaviour.cs @@ -4,6 +4,7 @@ using Calamari.Azure.AppServices; using Calamari.AzureAppService.Azure; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Azure; using Calamari.Common.Commands; using Calamari.Common.Plumbing.Logging; using Calamari.Common.Plumbing.Pipeline; diff --git a/source/Calamari.AzureAppService/Behaviors/TargetDiscoveryBehaviour.cs b/source/Calamari.AzureAppService/Behaviors/TargetDiscoveryBehaviour.cs index 9fb90c6de4..6078a96bda 100644 --- a/source/Calamari.AzureAppService/Behaviors/TargetDiscoveryBehaviour.cs +++ b/source/Calamari.AzureAppService/Behaviors/TargetDiscoveryBehaviour.cs @@ -9,6 +9,7 @@ using Calamari.Azure; using Calamari.AzureAppService.Azure; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Azure; using Calamari.Common.Commands; using Calamari.Common.Features.Discovery; using Calamari.Common.Plumbing.Logging; diff --git a/source/Calamari.AzureAppService/Calamari.AzureAppService.csproj b/source/Calamari.AzureAppService/Calamari.AzureAppService.csproj index 3f9c626993..c98c758a59 100644 --- a/source/Calamari.AzureAppService/Calamari.AzureAppService.csproj +++ b/source/Calamari.AzureAppService/Calamari.AzureAppService.csproj @@ -25,7 +25,6 @@ - diff --git a/source/Calamari.AzureAppService/HealthCheckCommand.cs b/source/Calamari.AzureAppService/HealthCheckCommand.cs index 503d7fb24e..5a04549de6 100644 --- a/source/Calamari.AzureAppService/HealthCheckCommand.cs +++ b/source/Calamari.AzureAppService/HealthCheckCommand.cs @@ -6,6 +6,7 @@ using Calamari.Azure; using Calamari.AzureAppService.Azure; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Azure; using Calamari.Common.Commands; using Calamari.Common.Plumbing.Pipeline; using Octopus.CoreUtilities.Extensions; diff --git a/source/Calamari.AzureResourceGroup.Tests/AzureResourceGroupActionHandlerFixture.cs b/source/Calamari.AzureResourceGroup.Tests/AzureResourceGroupActionHandlerFixture.cs index 4400d992cc..0cf3b3b73b 100644 --- a/source/Calamari.AzureResourceGroup.Tests/AzureResourceGroupActionHandlerFixture.cs +++ b/source/Calamari.AzureResourceGroup.Tests/AzureResourceGroupActionHandlerFixture.cs @@ -8,6 +8,7 @@ using Azure.ResourceManager.Resources; using Calamari.Azure; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Azure; using Calamari.Common.Features.Deployment; using Calamari.Common.Features.Scripts; using Calamari.Common.Plumbing.Variables; @@ -41,9 +42,9 @@ class AzureResourceGroupActionHandlerFixture public async Task Setup() { var resourceManagementEndpointBaseUri = - Environment.GetEnvironmentVariable(AccountVariables.ResourceManagementEndPoint) ?? DefaultVariables.ResourceManagementEndpoint; + Environment.GetEnvironmentVariable(AzureAccountVariables.ResourceManagementEndPoint) ?? DefaultVariables.ResourceManagementEndpoint; var activeDirectoryEndpointBaseUri = - Environment.GetEnvironmentVariable(AccountVariables.ActiveDirectoryEndPoint) ?? DefaultVariables.ActiveDirectoryEndpoint; + Environment.GetEnvironmentVariable(AzureAccountVariables.ActiveDirectoryEndPoint) ?? DefaultVariables.ActiveDirectoryEndpoint; clientId = await ExternalVariables.Get(ExternalVariable.AzureSubscriptionClientId, cancellationToken); clientSecret = await ExternalVariables.Get(ExternalVariable.AzureSubscriptionPassword, cancellationToken); diff --git a/source/Calamari.AzureResourceGroup.Tests/DeployAzureBicepTemplateCommandFixture.cs b/source/Calamari.AzureResourceGroup.Tests/DeployAzureBicepTemplateCommandFixture.cs index 6ce8922365..fe7030feaa 100644 --- a/source/Calamari.AzureResourceGroup.Tests/DeployAzureBicepTemplateCommandFixture.cs +++ b/source/Calamari.AzureResourceGroup.Tests/DeployAzureBicepTemplateCommandFixture.cs @@ -9,6 +9,7 @@ using Calamari.Azure; using Calamari.AzureResourceGroup.Bicep; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Azure; using Calamari.Testing; using Calamari.Testing.Azure; using Calamari.Testing.Helpers; @@ -39,9 +40,9 @@ class DeployAzureBicepTemplateCommandFixture public async Task Setup() { var resourceManagementEndpointBaseUri = - Environment.GetEnvironmentVariable(AccountVariables.ResourceManagementEndPoint) ?? DefaultVariables.ResourceManagementEndpoint; + Environment.GetEnvironmentVariable(AzureAccountVariables.ResourceManagementEndPoint) ?? DefaultVariables.ResourceManagementEndpoint; var activeDirectoryEndpointBaseUri = - Environment.GetEnvironmentVariable(AccountVariables.ActiveDirectoryEndPoint) ?? DefaultVariables.ActiveDirectoryEndpoint; + Environment.GetEnvironmentVariable(AzureAccountVariables.ActiveDirectoryEndPoint) ?? DefaultVariables.ActiveDirectoryEndpoint; clientId = await ExternalVariables.Get(ExternalVariable.AzureSubscriptionClientId, cancellationToken); clientSecret = await ExternalVariables.Get(ExternalVariable.AzureSubscriptionPassword, cancellationToken); diff --git a/source/Calamari.AzureResourceGroup/Bicep/DeployBicepTemplateBehaviour.cs b/source/Calamari.AzureResourceGroup/Bicep/DeployBicepTemplateBehaviour.cs index e5c4da7f7e..3dd52127cc 100644 --- a/source/Calamari.AzureResourceGroup/Bicep/DeployBicepTemplateBehaviour.cs +++ b/source/Calamari.AzureResourceGroup/Bicep/DeployBicepTemplateBehaviour.cs @@ -6,6 +6,7 @@ using Azure.ResourceManager.Resources.Models; using Calamari.Azure; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Azure; using Calamari.Common.Commands; using Calamari.Common.Features.Processes; using Calamari.Common.Plumbing.Extensions; diff --git a/source/Calamari.AzureResourceGroup/DeployAzureResourceGroupBehaviour.cs b/source/Calamari.AzureResourceGroup/DeployAzureResourceGroupBehaviour.cs index 21a2423b9f..c156876916 100644 --- a/source/Calamari.AzureResourceGroup/DeployAzureResourceGroupBehaviour.cs +++ b/source/Calamari.AzureResourceGroup/DeployAzureResourceGroupBehaviour.cs @@ -5,6 +5,7 @@ using Azure.ResourceManager.Resources.Models; using Calamari.Azure; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Azure; using Calamari.Common.Commands; using Calamari.Common.Plumbing.Extensions; using Calamari.Common.Plumbing.Logging; @@ -28,7 +29,7 @@ public async Task Execute(RunningDeployment context) log.Verbose("Using Modern Azure SDK behaviour."); var variables = context.Variables; - var hasAccessToken = !variables.Get(AccountVariables.Jwt).IsNullOrEmpty(); + var hasAccessToken = !variables.Get(AzureAccountVariables.Jwt).IsNullOrEmpty(); IAzureAccount account = hasAccessToken ? new AzureOidcAccount(variables) : new AzureServicePrincipalAccount(variables); var armClient = account.CreateArmClient(); diff --git a/source/Calamari.AzureScripting/AzureContextScriptWrapper.cs b/source/Calamari.AzureScripting/AzureContextScriptWrapper.cs index 14974f24dd..7ef571659e 100644 --- a/source/Calamari.AzureScripting/AzureContextScriptWrapper.cs +++ b/source/Calamari.AzureScripting/AzureContextScriptWrapper.cs @@ -4,12 +4,11 @@ using System.Linq; using System.Security.Cryptography; using System.Security.Cryptography.X509Certificates; -using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Azure; using Calamari.Common.Features.EmbeddedResources; using Calamari.Common.Features.Processes; using Calamari.Common.Features.Scripting; using Calamari.Common.Features.Scripts; -using Calamari.Common.FeatureToggles; using Calamari.Common.Plumbing.FileSystem; using Calamari.Common.Plumbing.Logging; using Calamari.Common.Plumbing.Variables; @@ -76,7 +75,7 @@ public CommandResult ExecuteScript(Script script, } else { - variables.Set("OctopusOpenIdJwt", variables.Get(AccountVariables.Jwt)); + variables.Set("OctopusOpenIdJwt", variables.Get(AzureAccountVariables.OpenIDJwt)); } return NextWrapper!.ExecuteScript(new Script(contextScriptFile.FilePath), scriptSyntax, commandLineRunner, environmentVars); diff --git a/source/Calamari.AzureScripting/Calamari.AzureScripting.csproj b/source/Calamari.AzureScripting/Calamari.AzureScripting.csproj index 201deeeb6c..84b13a0f00 100644 --- a/source/Calamari.AzureScripting/Calamari.AzureScripting.csproj +++ b/source/Calamari.AzureScripting/Calamari.AzureScripting.csproj @@ -23,8 +23,8 @@ + - diff --git a/source/Calamari.AzureWebApp.Tests/DeployAzureWebCommandFixture.cs b/source/Calamari.AzureWebApp.Tests/DeployAzureWebCommandFixture.cs index 661a4a8b61..85130295ef 100644 --- a/source/Calamari.AzureWebApp.Tests/DeployAzureWebCommandFixture.cs +++ b/source/Calamari.AzureWebApp.Tests/DeployAzureWebCommandFixture.cs @@ -13,6 +13,7 @@ using Calamari.Azure; using Calamari.Azure.AppServices; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Azure; using Calamari.Common.Features.Deployment; using Calamari.Common.Features.Scripts; using Calamari.Common.Plumbing.FileSystem; @@ -49,8 +50,8 @@ public class DeployAzureWebCommandFixture [OneTimeSetUp] public async Task Setup() { - var resourceManagementEndpointBaseUri = Environment.GetEnvironmentVariable(AccountVariables.ResourceManagementEndPoint) ?? DefaultVariables.ResourceManagementEndpoint; - var activeDirectoryEndpointBaseUri = Environment.GetEnvironmentVariable(AccountVariables.ActiveDirectoryEndPoint) ?? DefaultVariables.ActiveDirectoryEndpoint; + var resourceManagementEndpointBaseUri = Environment.GetEnvironmentVariable(AzureAccountVariables.ResourceManagementEndPoint) ?? DefaultVariables.ResourceManagementEndpoint; + var activeDirectoryEndpointBaseUri = Environment.GetEnvironmentVariable(AzureAccountVariables.ActiveDirectoryEndPoint) ?? DefaultVariables.ActiveDirectoryEndpoint; var resourceGroupName = AzureTestResourceHelpers.GetResourceGroupName(); diff --git a/source/Calamari.AzureWebApp/AzureWebAppBehaviour.cs b/source/Calamari.AzureWebApp/AzureWebAppBehaviour.cs index 5f18d72172..9c7382dd91 100644 --- a/source/Calamari.AzureWebApp/AzureWebAppBehaviour.cs +++ b/source/Calamari.AzureWebApp/AzureWebAppBehaviour.cs @@ -7,6 +7,7 @@ using Calamari.Azure.AppServices; using Calamari.AzureWebApp.Integration.Websites.Publishing; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Azure; using Calamari.Common.Commands; using Calamari.Common.Plumbing.Logging; using Calamari.Common.Plumbing.Pipeline; diff --git a/source/Calamari.AzureWebApp/Calamari.AzureWebApp.csproj b/source/Calamari.AzureWebApp/Calamari.AzureWebApp.csproj index f61dbea9e0..aa3368d633 100644 --- a/source/Calamari.AzureWebApp/Calamari.AzureWebApp.csproj +++ b/source/Calamari.AzureWebApp/Calamari.AzureWebApp.csproj @@ -23,7 +23,6 @@ - diff --git a/source/Calamari.AzureWebApp/Integration/Websites/Publishing/ResourceManagerPublishProfileProvider.cs b/source/Calamari.AzureWebApp/Integration/Websites/Publishing/ResourceManagerPublishProfileProvider.cs index 844804d824..5f5ad48c60 100644 --- a/source/Calamari.AzureWebApp/Integration/Websites/Publishing/ResourceManagerPublishProfileProvider.cs +++ b/source/Calamari.AzureWebApp/Integration/Websites/Publishing/ResourceManagerPublishProfileProvider.cs @@ -12,6 +12,7 @@ using Calamari.Azure; using Calamari.Azure.AppServices; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Azure; using Calamari.Common.Commands; using Calamari.Common.Plumbing.Logging; diff --git a/source/Calamari.AzureWebApp/LogAzureWebAppDetailsBehaviour.cs b/source/Calamari.AzureWebApp/LogAzureWebAppDetailsBehaviour.cs index 06f69567f6..a907aba78f 100644 --- a/source/Calamari.AzureWebApp/LogAzureWebAppDetailsBehaviour.cs +++ b/source/Calamari.AzureWebApp/LogAzureWebAppDetailsBehaviour.cs @@ -6,6 +6,7 @@ using Calamari.Azure; using Calamari.Azure.AppServices; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Azure; using Calamari.Common.Commands; using Calamari.Common.Plumbing.Logging; using Calamari.Common.Plumbing.Pipeline; diff --git a/source/Calamari.CloudAccounts.Aws/AwsAccountVariables.cs b/source/Calamari.CloudAccounts.Aws/AwsAccountVariables.cs new file mode 100644 index 0000000000..2b7d9d3080 --- /dev/null +++ b/source/Calamari.CloudAccounts.Aws/AwsAccountVariables.cs @@ -0,0 +1,8 @@ +namespace Calamari.CloudAccounts.Aws; + +public static class AwsAccountVariables +{ + public static readonly string RoleArn = "RoleArn"; + public static readonly string Region = "Region"; + public static readonly string SessionDuration = "SessionDuration"; +} \ No newline at end of file diff --git a/source/Calamari.CloudAccounts/AwsAuthenticationProvider.cs b/source/Calamari.CloudAccounts.Aws/AwsAuthenticationProvider.cs similarity index 91% rename from source/Calamari.CloudAccounts/AwsAuthenticationProvider.cs rename to source/Calamari.CloudAccounts.Aws/AwsAuthenticationProvider.cs index c3e0c8d1e5..c54dd5f6a8 100644 --- a/source/Calamari.CloudAccounts/AwsAuthenticationProvider.cs +++ b/source/Calamari.CloudAccounts.Aws/AwsAuthenticationProvider.cs @@ -1,8 +1,6 @@ using System; -using System.Linq; using System.Security.Authentication; using System.Text; -using System.Threading.Tasks; using Amazon; using Amazon.ECR; using Amazon.ECR.Model; @@ -12,7 +10,7 @@ using Calamari.Common.Plumbing.Variables; using Octopus.CoreUtilities.Extensions; -namespace Calamari.CloudAccounts +namespace Calamari.CloudAccounts.Aws { public static class AwsAuthenticationProvider { @@ -22,9 +20,9 @@ public static class AwsAuthenticationProvider try { var jwt = variables.Get(AuthenticationVariables.Jwt); - var roleArn = variables.Get(AuthenticationVariables.Aws.RoleArn); - var region = variables.Get(AuthenticationVariables.Aws.Region); - var sessionDuration = variables.Get(AuthenticationVariables.Aws.SessionDuration); + var roleArn = variables.Get(AwsAccountVariables.RoleArn); + var region = variables.Get(AwsAccountVariables.Region); + var sessionDuration = variables.Get(AwsAccountVariables.SessionDuration); var regionEndpoint = RegionEndpoint.GetBySystemName(region); var client = new AmazonSecurityTokenServiceClient(new AnonymousAWSCredentials(), regionEndpoint); @@ -53,7 +51,7 @@ public static class AwsAuthenticationProvider public static async Task<(string Username, string Password, Uri RegistryUri)> GetEcrAccessKeyCredentials(IVariables variables, string accessKey, string secretKey) { - var region = variables.Get(AuthenticationVariables.Aws.Region); + var region = variables.Get(AwsAccountVariables.Region); var regionEndpoint = RegionEndpoint.GetBySystemName(region); AmazonECRClient client; if (accessKey.IsNullOrEmpty() || secretKey.IsNullOrEmpty()) diff --git a/source/Calamari.CloudAccounts/AwsEnvironmentGeneration.cs b/source/Calamari.CloudAccounts.Aws/AwsEnvironmentGeneration.cs similarity index 99% rename from source/Calamari.CloudAccounts/AwsEnvironmentGeneration.cs rename to source/Calamari.CloudAccounts.Aws/AwsEnvironmentGeneration.cs index e2a688dfb5..b6caa235d2 100644 --- a/source/Calamari.CloudAccounts/AwsEnvironmentGeneration.cs +++ b/source/Calamari.CloudAccounts.Aws/AwsEnvironmentGeneration.cs @@ -1,7 +1,4 @@ using System; -using System.Collections.Generic; -using System.Net.Http; -using System.Threading.Tasks; using Amazon; using Amazon.Runtime; using Amazon.SecurityToken; @@ -10,7 +7,7 @@ using Calamari.Common.Plumbing.Variables; using Newtonsoft.Json; -namespace Calamari.CloudAccounts +namespace Calamari.CloudAccounts.Aws { /// /// This service is used to generate the appropriate environment variables required to authentication diff --git a/source/Calamari.CloudAccounts/Calamari.CloudAccounts.csproj b/source/Calamari.CloudAccounts.Aws/Calamari.CloudAccounts.Aws.csproj similarity index 50% rename from source/Calamari.CloudAccounts/Calamari.CloudAccounts.csproj rename to source/Calamari.CloudAccounts.Aws/Calamari.CloudAccounts.Aws.csproj index 535418a116..2b2b1fd079 100644 --- a/source/Calamari.CloudAccounts/Calamari.CloudAccounts.csproj +++ b/source/Calamari.CloudAccounts.Aws/Calamari.CloudAccounts.Aws.csproj @@ -1,10 +1,11 @@  - Calamari.CloudAccounts + Calamari.CloudAccounts.Aws net8.0 - Octopus.Calamari.CloudAccounts - Calamari.CloudAccounts + enable + Octopus.Calamari.CloudAccounts.Aws + Calamari.CloudAccounts.Aws Octopus Deploy Octopus Deploy Pty Ltd https://github.com/OctopusDeploy/Calamari @@ -14,15 +15,12 @@ - + - - - - - + + + - diff --git a/source/Calamari.CloudAccounts.Aws/Properties/AssemblyInfo.cs b/source/Calamari.CloudAccounts.Aws/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..d6a3f16744 --- /dev/null +++ b/source/Calamari.CloudAccounts.Aws/Properties/AssemblyInfo.cs @@ -0,0 +1,3 @@ +using System.Runtime.CompilerServices; + +[assembly: InternalsVisibleTo("Calamari.Tests")] \ No newline at end of file diff --git a/source/Calamari.CloudAccounts/AuthHttpClientFactory.cs b/source/Calamari.CloudAccounts.Azure/AuthHttpClientFactory.cs similarity index 92% rename from source/Calamari.CloudAccounts/AuthHttpClientFactory.cs rename to source/Calamari.CloudAccounts.Azure/AuthHttpClientFactory.cs index 1a7eee4592..6c0f89675e 100644 --- a/source/Calamari.CloudAccounts/AuthHttpClientFactory.cs +++ b/source/Calamari.CloudAccounts.Azure/AuthHttpClientFactory.cs @@ -1,8 +1,8 @@ +using System; using System.Net; -using System.Net.Http; using Microsoft.Identity.Client; -namespace Calamari.CloudAccounts +namespace Calamari.CloudAccounts.Azure { public class AuthHttpClientFactory : IMsalHttpClientFactory { diff --git a/source/Calamari.CloudAccounts/AzureAccountFactory.cs b/source/Calamari.CloudAccounts.Azure/AzureAccountFactory.cs similarity index 80% rename from source/Calamari.CloudAccounts/AzureAccountFactory.cs rename to source/Calamari.CloudAccounts.Azure/AzureAccountFactory.cs index fad7c01286..39c2a89e99 100644 --- a/source/Calamari.CloudAccounts/AzureAccountFactory.cs +++ b/source/Calamari.CloudAccounts.Azure/AzureAccountFactory.cs @@ -1,6 +1,7 @@ -using Calamari.Common.Plumbing.Variables; +using System; +using Calamari.Common.Plumbing.Variables; -namespace Calamari.CloudAccounts +namespace Calamari.CloudAccounts.Azure { public static class AzureAccountFactory { diff --git a/source/Calamari.CloudAccounts.Azure/AzureAccountVariables.cs b/source/Calamari.CloudAccounts.Azure/AzureAccountVariables.cs new file mode 100644 index 0000000000..0dfc6871de --- /dev/null +++ b/source/Calamari.CloudAccounts.Azure/AzureAccountVariables.cs @@ -0,0 +1,16 @@ +using System; + +namespace Calamari.CloudAccounts.Azure; + +public static class AzureAccountVariables +{ + public static readonly string Environment = "Octopus.Action.Azure.Environment"; + public static readonly string AccountVariable = "Octopus.Action.AzureAccount.Variable"; + public static readonly string SubscriptionId = "Octopus.Action.Azure.SubscriptionId"; + public static readonly string ClientId = "Octopus.Action.Azure.ClientId"; + public static readonly string TenantId = "Octopus.Action.Azure.TenantId"; + public static readonly string Password = "Octopus.Action.Azure.Password"; + public static readonly string OpenIDJwt = "Octopus.OpenIdConnect.Jwt"; + public static readonly string ResourceManagementEndPoint = "Octopus.Action.Azure.ResourceManagementEndPoint"; + public static readonly string ActiveDirectoryEndPoint = "Octopus.Action.Azure.ActiveDirectoryEndPoint"; +} \ No newline at end of file diff --git a/source/Calamari.CloudAccounts/AzureContainerRegistryAuthenticationProvider.cs b/source/Calamari.CloudAccounts.Azure/AzureContainerRegistryAuthenticationProvider.cs similarity index 97% rename from source/Calamari.CloudAccounts/AzureContainerRegistryAuthenticationProvider.cs rename to source/Calamari.CloudAccounts.Azure/AzureContainerRegistryAuthenticationProvider.cs index a9a482a562..4b25d17a28 100644 --- a/source/Calamari.CloudAccounts/AzureContainerRegistryAuthenticationProvider.cs +++ b/source/Calamari.CloudAccounts.Azure/AzureContainerRegistryAuthenticationProvider.cs @@ -1,14 +1,11 @@ using System; -using System.Collections.Generic; -using System.Net.Http; -using System.Threading.Tasks; using Calamari.Common.Plumbing.Logging; using Calamari.Common.Plumbing.Variables; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using NetWebRequest = System.Net.WebRequest; -namespace Calamari.CloudAccounts +namespace Calamari.CloudAccounts.Azure { public class AzureContainerRegistryAuthenticationProvider { @@ -35,7 +32,7 @@ public AzureContainerRegistryAuthenticationProvider() { Log.Verbose("Starting ACR OIDC credential retrieval process"); var jwt = variables.Get(AuthenticationVariables.Jwt); - var clientId = variables.Get(AuthenticationVariables.Azure.ClientId); + var clientId = variables.Get(AzureAccountVariables.ClientId); var tenantId = variables.Get(AuthenticationVariables.Azure.TenantId); var aadToken = await ExchangeJwtForAccessTokenAsync(jwt, clientId, tenantId); var refreshToken = await GetAcrRefreshTokenAsync(registryUri, aadToken, tenantId); diff --git a/source/Calamari.CloudAccounts/AzureOidcAccount.cs b/source/Calamari.CloudAccounts.Azure/AzureOidcAccount.cs similarity index 74% rename from source/Calamari.CloudAccounts/AzureOidcAccount.cs rename to source/Calamari.CloudAccounts.Azure/AzureOidcAccount.cs index 7ffc4a28f4..3371038bd2 100644 --- a/source/Calamari.CloudAccounts/AzureOidcAccount.cs +++ b/source/Calamari.CloudAccounts.Azure/AzureOidcAccount.cs @@ -1,7 +1,8 @@ +using System; using Calamari.Common.Plumbing.Variables; using Newtonsoft.Json; -namespace Calamari.CloudAccounts +namespace Calamari.CloudAccounts.Azure { public class AzureOidcAccount : IAzureAccount { @@ -26,13 +27,13 @@ public AzureOidcAccount( public AzureOidcAccount(IVariables variables) { - SubscriptionNumber = variables.Get(AccountVariables.SubscriptionId); - ClientId = variables.Get(AccountVariables.ClientId); - TenantId = variables.Get(AccountVariables.TenantId); - Jwt = variables.Get(AccountVariables.Jwt); - AzureEnvironment = variables.Get(AccountVariables.Environment); - ResourceManagementEndpointBaseUri = variables.Get(AccountVariables.ResourceManagementEndPoint, DefaultVariables.ResourceManagementEndpoint); - ActiveDirectoryEndpointBaseUri = variables.Get(AccountVariables.ActiveDirectoryEndPoint, DefaultVariables.OidcAuthContextUri); + SubscriptionNumber = variables.Get(AzureAccountVariables.SubscriptionId); + ClientId = variables.Get(AzureAccountVariables.ClientId); + TenantId = variables.Get(AzureAccountVariables.TenantId); + Jwt = variables.Get(AzureAccountVariables.OpenIDJwt); + AzureEnvironment = variables.Get(AzureAccountVariables.Environment); + ResourceManagementEndpointBaseUri = variables.Get(AzureAccountVariables.ResourceManagementEndPoint, DefaultVariables.ResourceManagementEndpoint); + ActiveDirectoryEndpointBaseUri = variables.Get(AzureAccountVariables.ActiveDirectoryEndPoint, DefaultVariables.OidcAuthContextUri); } public AccountType AccountType => AccountType.AzureOidc; diff --git a/source/Calamari.CloudAccounts/AzureOidcAccountExtensions.cs b/source/Calamari.CloudAccounts.Azure/AzureOidcAccountExtensions.cs similarity index 96% rename from source/Calamari.CloudAccounts/AzureOidcAccountExtensions.cs rename to source/Calamari.CloudAccounts.Azure/AzureOidcAccountExtensions.cs index feec5fe71d..4967a06651 100644 --- a/source/Calamari.CloudAccounts/AzureOidcAccountExtensions.cs +++ b/source/Calamari.CloudAccounts.Azure/AzureOidcAccountExtensions.cs @@ -1,9 +1,8 @@ -using System.Threading; -using System.Threading.Tasks; +using System; using Calamari.Common.Plumbing.Logging; using Microsoft.Identity.Client; -namespace Calamari.CloudAccounts +namespace Calamari.CloudAccounts.Azure { public static class AzureOidcAccountExtensions { diff --git a/source/Calamari.CloudAccounts/AzureServicePrincipalAccount.cs b/source/Calamari.CloudAccounts.Azure/AzureServicePrincipalAccount.cs similarity index 66% rename from source/Calamari.CloudAccounts/AzureServicePrincipalAccount.cs rename to source/Calamari.CloudAccounts.Azure/AzureServicePrincipalAccount.cs index 9860381519..232a8e3bcd 100644 --- a/source/Calamari.CloudAccounts/AzureServicePrincipalAccount.cs +++ b/source/Calamari.CloudAccounts.Azure/AzureServicePrincipalAccount.cs @@ -1,7 +1,8 @@ +using System; using Calamari.Common.Plumbing.Variables; using Newtonsoft.Json; -namespace Calamari.CloudAccounts +namespace Calamari.CloudAccounts.Azure { public class AzureServicePrincipalAccount : IAzureAccount { @@ -26,13 +27,13 @@ public AzureServicePrincipalAccount( public AzureServicePrincipalAccount(IVariables variables) { - SubscriptionNumber = variables.Get(AccountVariables.SubscriptionId); - ClientId = variables.Get(AccountVariables.ClientId); - TenantId = variables.Get(AccountVariables.TenantId); - Password = variables.Get(AccountVariables.Password); - AzureEnvironment = variables.Get(AccountVariables.Environment); - ResourceManagementEndpointBaseUri = variables.Get(AccountVariables.ResourceManagementEndPoint, DefaultVariables.ResourceManagementEndpoint); - ActiveDirectoryEndpointBaseUri = variables.Get(AccountVariables.ActiveDirectoryEndPoint, DefaultVariables.ActiveDirectoryEndpoint); + SubscriptionNumber = variables.Get(AzureAccountVariables.SubscriptionId); + ClientId = variables.Get(AzureAccountVariables.ClientId); + TenantId = variables.Get(AzureAccountVariables.TenantId); + Password = variables.Get(AzureAccountVariables.Password); + AzureEnvironment = variables.Get(AzureAccountVariables.Environment); + ResourceManagementEndpointBaseUri = variables.Get(AzureAccountVariables.ResourceManagementEndPoint, DefaultVariables.ResourceManagementEndpoint); + ActiveDirectoryEndpointBaseUri = variables.Get(AzureAccountVariables.ActiveDirectoryEndPoint, DefaultVariables.ActiveDirectoryEndpoint); } public AccountType AccountType => AccountType.AzureServicePrincipal; diff --git a/source/Calamari.CloudAccounts/AzureServicePrincipalAccountExtensions.cs b/source/Calamari.CloudAccounts.Azure/AzureServicePrincipalAccountExtensions.cs similarity index 97% rename from source/Calamari.CloudAccounts/AzureServicePrincipalAccountExtensions.cs rename to source/Calamari.CloudAccounts.Azure/AzureServicePrincipalAccountExtensions.cs index 2de00d7d67..c00a9822b0 100644 --- a/source/Calamari.CloudAccounts/AzureServicePrincipalAccountExtensions.cs +++ b/source/Calamari.CloudAccounts.Azure/AzureServicePrincipalAccountExtensions.cs @@ -1,8 +1,8 @@ -using System.Threading.Tasks; +using System; using Calamari.Common.Plumbing.Logging; using Microsoft.Identity.Client; -namespace Calamari.CloudAccounts +namespace Calamari.CloudAccounts.Azure { public static class AzureServicePrincipalAccountExtensions { diff --git a/source/Calamari.CloudAccounts.Azure/Calamari.CloudAccounts.Azure.csproj b/source/Calamari.CloudAccounts.Azure/Calamari.CloudAccounts.Azure.csproj new file mode 100644 index 0000000000..c12edca4e6 --- /dev/null +++ b/source/Calamari.CloudAccounts.Azure/Calamari.CloudAccounts.Azure.csproj @@ -0,0 +1,24 @@ + + + + Calamari.CloudAccounts.Azure + net8.0 + enable + Octopus.Calamari.CloudAccounts.Azure + Calamari.CloudAccounts.Azure + Octopus Deploy + Octopus Deploy Pty Ltd + https://github.com/OctopusDeploy/Calamari + https://github.com/OctopusDeploy/Calamari/blob/main/LICENSE.txt + https://github.com/OctopusDeploy/Calamari + git + + + + + + + + + + diff --git a/source/Calamari.CloudAccounts/DefaultVariables.cs b/source/Calamari.CloudAccounts.Azure/DefaultVariables.cs similarity index 91% rename from source/Calamari.CloudAccounts/DefaultVariables.cs rename to source/Calamari.CloudAccounts.Azure/DefaultVariables.cs index 70f631d27e..2c5b44faf4 100644 --- a/source/Calamari.CloudAccounts/DefaultVariables.cs +++ b/source/Calamari.CloudAccounts.Azure/DefaultVariables.cs @@ -1,6 +1,6 @@ using System; -namespace Calamari.CloudAccounts +namespace Calamari.CloudAccounts.Azure { static class DefaultVariables { diff --git a/source/Calamari.CloudAccounts/IAzureAccount.cs b/source/Calamari.CloudAccounts.Azure/IAzureAccount.cs similarity index 89% rename from source/Calamari.CloudAccounts/IAzureAccount.cs rename to source/Calamari.CloudAccounts.Azure/IAzureAccount.cs index 558d9b1906..6d8cfcc14e 100644 --- a/source/Calamari.CloudAccounts/IAzureAccount.cs +++ b/source/Calamari.CloudAccounts.Azure/IAzureAccount.cs @@ -1,4 +1,6 @@ -namespace Calamari.CloudAccounts +using System; + +namespace Calamari.CloudAccounts.Azure { public interface IAzureAccount { diff --git a/source/Calamari.CloudAccounts.GoogleCloud/Calamari.CloudAccounts.GoogleCloud.csproj b/source/Calamari.CloudAccounts.GoogleCloud/Calamari.CloudAccounts.GoogleCloud.csproj new file mode 100644 index 0000000000..be6aaa0ce8 --- /dev/null +++ b/source/Calamari.CloudAccounts.GoogleCloud/Calamari.CloudAccounts.GoogleCloud.csproj @@ -0,0 +1,24 @@ + + + + Calamari.CloudAccounts.GoogleCloud + net8.0 + enable + Octopus.Calamari.CloudAccounts.GoogleCloud + Calamari.CloudAccounts.GoogleCloud + Octopus Deploy + Octopus Deploy Pty Ltd + https://github.com/OctopusDeploy/Calamari + https://github.com/OctopusDeploy/Calamari/blob/main/LICENSE.txt + https://github.com/OctopusDeploy/Calamari + git + + + + + + + + + + diff --git a/source/Calamari.CloudAccounts.GoogleCloud/GoogleAccountVariables.cs b/source/Calamari.CloudAccounts.GoogleCloud/GoogleAccountVariables.cs new file mode 100644 index 0000000000..78b0709315 --- /dev/null +++ b/source/Calamari.CloudAccounts.GoogleCloud/GoogleAccountVariables.cs @@ -0,0 +1,6 @@ +namespace Calamari.CloudAccounts.GoogleCloud; + +public static class GoogleAccountVariables +{ + public static readonly string Audience = "Audience"; +} \ No newline at end of file diff --git a/source/Calamari.CloudAccounts/GoogleAuthenticationProvider.cs b/source/Calamari.CloudAccounts.GoogleCloud/GoogleAuthenticationProvider.cs similarity index 94% rename from source/Calamari.CloudAccounts/GoogleAuthenticationProvider.cs rename to source/Calamari.CloudAccounts.GoogleCloud/GoogleAuthenticationProvider.cs index 4e7e5be4f9..6797d517c9 100644 --- a/source/Calamari.CloudAccounts/GoogleAuthenticationProvider.cs +++ b/source/Calamari.CloudAccounts.GoogleCloud/GoogleAuthenticationProvider.cs @@ -1,14 +1,10 @@ using System; -using System.Collections.Generic; -using System.Net.Http; -using System.Threading; -using System.Threading.Tasks; using Calamari.Common.Plumbing.Logging; using Calamari.Common.Plumbing.Variables; using Newtonsoft.Json; using NetWebRequest = System.Net.WebRequest; -namespace Calamari.CloudAccounts +namespace Calamari.CloudAccounts.GoogleCloud { public class GoogleAuthenticationProvider { @@ -33,7 +29,7 @@ public GoogleAuthenticationProvider() { Log.Verbose("Starting GCR OIDC credential retrieval process"); var jwt = variables.Get(AuthenticationVariables.Jwt); - var rawAudience = variables.Get(AuthenticationVariables.Google.Audience); + var rawAudience = variables.Get(GoogleAccountVariables.Audience); var audience = Uri.TryCreate(rawAudience, UriKind.Absolute, out var uri) ? $"//{uri.Host}{uri.AbsolutePath}" : rawAudience; diff --git a/source/Calamari.CloudAccounts/AccountVariables.cs b/source/Calamari.CloudAccounts/AccountVariables.cs deleted file mode 100644 index b4fc3b6d56..0000000000 --- a/source/Calamari.CloudAccounts/AccountVariables.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; - -namespace Calamari.CloudAccounts -{ - public static class AccountVariables - { - public static readonly string Environment = "Octopus.Action.Azure.Environment"; - public static readonly string SubscriptionId = "Octopus.Action.Azure.SubscriptionId"; - public static readonly string ClientId = "Octopus.Action.Azure.ClientId"; - public static readonly string TenantId = "Octopus.Action.Azure.TenantId"; - public static readonly string Password = "Octopus.Action.Azure.Password"; - public static readonly string Jwt = "Octopus.OpenIdConnect.Jwt"; - public static readonly string ResourceManagementEndPoint = "Octopus.Action.Azure.ResourceManagementEndPoint"; - public static readonly string ActiveDirectoryEndPoint = "Octopus.Action.Azure.ActiveDirectoryEndPoint"; - } -} diff --git a/source/Calamari.CloudAccounts/AzureAccountVariables.cs b/source/Calamari.CloudAccounts/AzureAccountVariables.cs deleted file mode 100644 index df777095a3..0000000000 --- a/source/Calamari.CloudAccounts/AzureAccountVariables.cs +++ /dev/null @@ -1,15 +0,0 @@ -namespace Calamari.CloudAccounts -{ - public static class AzureAccountVariables - { - public static readonly string Environment = "Octopus.Action.Azure.Environment"; - public static readonly string AccountVariable = "Octopus.Action.AzureAccount.Variable"; - public static readonly string SubscriptionId = "Octopus.Action.Azure.SubscriptionId"; - public static readonly string ClientId = "Octopus.Action.Azure.ClientId"; - public static readonly string TenantId = "Octopus.Action.Azure.TenantId"; - public static readonly string Password = "Octopus.Action.Azure.Password"; - public static readonly string OpenIDJwt = "Octopus.OpenIdConnect.Jwt"; - public static readonly string ResourceManagementEndPoint = "Octopus.Action.Azure.ResourceManagementEndPoint"; - public static readonly string ActiveDirectoryEndPoint = "Octopus.Action.Azure.ActiveDirectoryEndPoint"; - } -} \ No newline at end of file diff --git a/source/Calamari.CloudAccounts/Properties/AssemblyInfo.cs b/source/Calamari.CloudAccounts/Properties/AssemblyInfo.cs deleted file mode 100644 index 4347dbd3ad..0000000000 --- a/source/Calamari.CloudAccounts/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,3 +0,0 @@ -using System.Runtime.CompilerServices; - -[assembly: InternalsVisibleTo("Calamari.Tests")] diff --git a/source/Calamari.Common/Plumbing/Variables/AuthenticationVariables.cs b/source/Calamari.Common/Plumbing/Variables/AuthenticationVariables.cs index f9781a9bd5..42066d4662 100644 --- a/source/Calamari.Common/Plumbing/Variables/AuthenticationVariables.cs +++ b/source/Calamari.Common/Plumbing/Variables/AuthenticationVariables.cs @@ -5,22 +5,10 @@ public static class AuthenticationVariables public static readonly string FeedType = "FeedType"; public static readonly string Jwt = "Jwt"; - public static class Aws - { - public static readonly string RoleArn = "RoleArn"; - public static readonly string Region = "Region"; - public static readonly string SessionDuration = "SessionDuration"; - } - public static class Azure { public static readonly string TenantId = "TenantId"; public static readonly string ClientId = "ClientId"; } - - public static class Google - { - public static readonly string Audience = "Audience"; - } } } \ No newline at end of file diff --git a/source/Calamari.Shared/Calamari.Shared.csproj b/source/Calamari.Shared/Calamari.Shared.csproj index 99133382e3..2e8df8fd2c 100644 --- a/source/Calamari.Shared/Calamari.Shared.csproj +++ b/source/Calamari.Shared/Calamari.Shared.csproj @@ -26,7 +26,6 @@ - diff --git a/source/Calamari.Shared/Integration/Certificates/FileSystem/PackageStore.cs b/source/Calamari.Shared/Integration/Certificates/FileSystem/PackageStore.cs index 7c20699540..c24ce66787 100644 --- a/source/Calamari.Shared/Integration/Certificates/FileSystem/PackageStore.cs +++ b/source/Calamari.Shared/Integration/Certificates/FileSystem/PackageStore.cs @@ -6,7 +6,6 @@ using Calamari.Common.Features.Packages.Java; using Calamari.Common.Plumbing.FileSystem; using Calamari.Common.Plumbing.Logging; -using Calamari.Integration.Packages; using Octopus.Versioning; namespace Calamari.Integration.FileSystem diff --git a/source/Calamari.Terraform.Tests/CommandsFixture.cs b/source/Calamari.Terraform.Tests/CommandsFixture.cs index a5b885c051..6b3a830e50 100644 --- a/source/Calamari.Terraform.Tests/CommandsFixture.cs +++ b/source/Calamari.Terraform.Tests/CommandsFixture.cs @@ -10,6 +10,7 @@ using System.Threading; using System.Threading.Tasks; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Azure; using Calamari.Common.Features.Processes; using Calamari.Common.Plumbing; using Calamari.Common.Plumbing.FileSystem; diff --git a/source/Calamari.Terraform/Behaviours/TerraformDeployBehaviour.cs b/source/Calamari.Terraform/Behaviours/TerraformDeployBehaviour.cs index 5e6dd578c2..9330a1f5d7 100644 --- a/source/Calamari.Terraform/Behaviours/TerraformDeployBehaviour.cs +++ b/source/Calamari.Terraform/Behaviours/TerraformDeployBehaviour.cs @@ -3,7 +3,8 @@ using System.IO; using System.Text; using System.Threading.Tasks; -using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Aws; +using Calamari.CloudAccounts.Azure; using Calamari.Common.Commands; using Calamari.Common.Features.Processes; using Calamari.Common.Plumbing.Extensions; diff --git a/source/Calamari.Terraform/Calamari.Terraform.csproj b/source/Calamari.Terraform/Calamari.Terraform.csproj index f06bb292ec..751dcab936 100644 --- a/source/Calamari.Terraform/Calamari.Terraform.csproj +++ b/source/Calamari.Terraform/Calamari.Terraform.csproj @@ -11,11 +11,11 @@ - - + + diff --git a/source/Calamari.Tests/AWS/AwsAuthenticationProviderFixture.cs b/source/Calamari.Tests/AWS/AwsAuthenticationProviderFixture.cs index b12dcbe1a1..cdc8dfc190 100644 --- a/source/Calamari.Tests/AWS/AwsAuthenticationProviderFixture.cs +++ b/source/Calamari.Tests/AWS/AwsAuthenticationProviderFixture.cs @@ -4,6 +4,7 @@ using System.Threading.Tasks; using Amazon; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Aws; using Calamari.Common.Plumbing.Variables; using Calamari.Testing; using Calamari.Testing.Helpers; @@ -24,7 +25,7 @@ public class AwsAuthenticationProviderFixture public void SetUp() { variables = new CalamariVariables(); - variables.Add(AuthenticationVariables.Aws.Region, RegionEndpoint.USWest2.SystemName); + variables.Add(AwsAccountVariables.Region, RegionEndpoint.USWest2.SystemName); } [Test] diff --git a/source/Calamari.Tests/AWS/AwsEnvironmentGenerationFixture.cs b/source/Calamari.Tests/AWS/AwsEnvironmentGenerationFixture.cs index a94a552005..b11d921f0f 100644 --- a/source/Calamari.Tests/AWS/AwsEnvironmentGenerationFixture.cs +++ b/source/Calamari.Tests/AWS/AwsEnvironmentGenerationFixture.cs @@ -3,6 +3,7 @@ using System.IO; using System.Threading.Tasks; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Aws; using Calamari.Common.Plumbing.FileSystem; using Calamari.Common.Plumbing.Logging; using Calamari.Common.Plumbing.Variables; diff --git a/source/Calamari.Tests/AWS/Ecs/SetEcsOutputVariablesConventionTests.cs b/source/Calamari.Tests/AWS/Ecs/SetEcsOutputVariablesConventionTests.cs index c900336b61..bb6b478679 100644 --- a/source/Calamari.Tests/AWS/Ecs/SetEcsOutputVariablesConventionTests.cs +++ b/source/Calamari.Tests/AWS/Ecs/SetEcsOutputVariablesConventionTests.cs @@ -1,6 +1,7 @@ using System.Threading.Tasks; using Calamari.Aws.Deployment.Conventions; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Aws; using Calamari.Common.Commands; using Calamari.Common.Plumbing.Variables; using Calamari.Testing.Helpers; diff --git a/source/Calamari.Tests/Azure/AzureClientFixture.cs b/source/Calamari.Tests/Azure/AzureClientFixture.cs index e5a37a7802..f2e186ea17 100644 --- a/source/Calamari.Tests/Azure/AzureClientFixture.cs +++ b/source/Calamari.Tests/Azure/AzureClientFixture.cs @@ -1,6 +1,7 @@ using System; using Calamari.Azure; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Azure; using NUnit.Framework; namespace Calamari.Tests.Azure diff --git a/source/Calamari.Tests/KubernetesFixtures/KubernetesContextScriptWrapperLiveFixtureAks.cs b/source/Calamari.Tests/KubernetesFixtures/KubernetesContextScriptWrapperLiveFixtureAks.cs index a6e8c625da..9f365e2249 100644 --- a/source/Calamari.Tests/KubernetesFixtures/KubernetesContextScriptWrapperLiveFixtureAks.cs +++ b/source/Calamari.Tests/KubernetesFixtures/KubernetesContextScriptWrapperLiveFixtureAks.cs @@ -5,6 +5,7 @@ using System.Threading.Tasks; using Calamari.Azure; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Azure; using Calamari.Common.Features.Discovery; using Calamari.Common.Plumbing.FileSystem; using Calamari.Common.Plumbing.ServiceMessages; diff --git a/source/Calamari.Tests/KubernetesFixtures/KubernetesContextScriptWrapperLiveFixtureAksLocalAccessDisabled.cs b/source/Calamari.Tests/KubernetesFixtures/KubernetesContextScriptWrapperLiveFixtureAksLocalAccessDisabled.cs index dd69ce5186..42ff9b1d69 100644 --- a/source/Calamari.Tests/KubernetesFixtures/KubernetesContextScriptWrapperLiveFixtureAksLocalAccessDisabled.cs +++ b/source/Calamari.Tests/KubernetesFixtures/KubernetesContextScriptWrapperLiveFixtureAksLocalAccessDisabled.cs @@ -4,6 +4,7 @@ using System.Threading.Tasks; using Calamari.Azure; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Azure; using Calamari.Common.Features.Discovery; using Calamari.Common.Plumbing.ServiceMessages; using Calamari.Deployment; diff --git a/source/Calamari.sln b/source/Calamari.sln index c776abd646..34cbd8d00c 100644 --- a/source/Calamari.sln +++ b/source/Calamari.sln @@ -26,8 +26,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build files", "Build files" ..\ForbiddenWords.txt = ..\ForbiddenWords.txt EndProjectSection EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Calamari.CloudAccounts", "Calamari.CloudAccounts\Calamari.CloudAccounts.csproj", "{58955C6D-3FC6-413F-B532-F37FF70EB818}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Calamari.Common", "Calamari.Common\Calamari.Common.csproj", "{0CE6EDAC-DEEE-4EA1-A573-E660811445E6}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Calamari.Testing", "Calamari.Testing\Calamari.Testing.csproj", "{95A4DBA0-EA92-4FD5-A92E-4DFDB4FC4493}" @@ -88,6 +86,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Calamari.Contracts", "Calam EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Calamari.DockerCredentialHelper", "Calamari.DockerCredentialHelper\Calamari.DockerCredentialHelper.csproj", "{B34DBEEC-7AC2-4BFE-ACDD-1788828925BD}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Calamari.CloudAccounts.Aws", "Calamari.CloudAccounts.Aws\Calamari.CloudAccounts.Aws.csproj", "{A0E4AC5D-9D5D-4AA1-BD57-4F7F4E0DF835}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Calamari.CloudAccounts.Azure", "Calamari.CloudAccounts.Azure\Calamari.CloudAccounts.Azure.csproj", "{277F0CD8-1404-422F-A246-669738B33E40}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Calamari.CloudAccounts.GoogleCloud", "Calamari.CloudAccounts.GoogleCloud\Calamari.CloudAccounts.GoogleCloud.csproj", "{07F06752-E901-4CE1-9207-830179DB4AF5}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -110,10 +114,6 @@ Global {6EDA4097-1A3E-4B1A-85BF-920DEA9ED8AD}.Debug|Any CPU.Build.0 = Debug|Any CPU {6EDA4097-1A3E-4B1A-85BF-920DEA9ED8AD}.Release|Any CPU.ActiveCfg = Release|Any CPU {6EDA4097-1A3E-4B1A-85BF-920DEA9ED8AD}.Release|Any CPU.Build.0 = Release|Any CPU - {58955C6D-3FC6-413F-B532-F37FF70EB818}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {58955C6D-3FC6-413F-B532-F37FF70EB818}.Debug|Any CPU.Build.0 = Debug|Any CPU - {58955C6D-3FC6-413F-B532-F37FF70EB818}.Release|Any CPU.ActiveCfg = Release|Any CPU - {58955C6D-3FC6-413F-B532-F37FF70EB818}.Release|Any CPU.Build.0 = Release|Any CPU {0CE6EDAC-DEEE-4EA1-A573-E660811445E6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {0CE6EDAC-DEEE-4EA1-A573-E660811445E6}.Debug|Any CPU.Build.0 = Debug|Any CPU {0CE6EDAC-DEEE-4EA1-A573-E660811445E6}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -232,6 +232,18 @@ Global {B34DBEEC-7AC2-4BFE-ACDD-1788828925BD}.Debug|Any CPU.Build.0 = Debug|Any CPU {B34DBEEC-7AC2-4BFE-ACDD-1788828925BD}.Release|Any CPU.ActiveCfg = Release|Any CPU {B34DBEEC-7AC2-4BFE-ACDD-1788828925BD}.Release|Any CPU.Build.0 = Release|Any CPU + {A0E4AC5D-9D5D-4AA1-BD57-4F7F4E0DF835}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A0E4AC5D-9D5D-4AA1-BD57-4F7F4E0DF835}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A0E4AC5D-9D5D-4AA1-BD57-4F7F4E0DF835}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A0E4AC5D-9D5D-4AA1-BD57-4F7F4E0DF835}.Release|Any CPU.Build.0 = Release|Any CPU + {277F0CD8-1404-422F-A246-669738B33E40}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {277F0CD8-1404-422F-A246-669738B33E40}.Debug|Any CPU.Build.0 = Debug|Any CPU + {277F0CD8-1404-422F-A246-669738B33E40}.Release|Any CPU.ActiveCfg = Release|Any CPU + {277F0CD8-1404-422F-A246-669738B33E40}.Release|Any CPU.Build.0 = Release|Any CPU + {07F06752-E901-4CE1-9207-830179DB4AF5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {07F06752-E901-4CE1-9207-830179DB4AF5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {07F06752-E901-4CE1-9207-830179DB4AF5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {07F06752-E901-4CE1-9207-830179DB4AF5}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/source/Calamari/Calamari.csproj b/source/Calamari/Calamari.csproj index 7138f51c8c..7fda3118ab 100644 --- a/source/Calamari/Calamari.csproj +++ b/source/Calamari/Calamari.csproj @@ -28,6 +28,7 @@ + @@ -54,6 +55,10 @@ + + + + diff --git a/source/Calamari.Shared/Integration/Packages/Download/AcrFeedLoginDetailsProvider.cs b/source/Calamari/Integration/Packages/Download/AcrFeedLoginDetailsProvider.cs similarity index 96% rename from source/Calamari.Shared/Integration/Packages/Download/AcrFeedLoginDetailsProvider.cs rename to source/Calamari/Integration/Packages/Download/AcrFeedLoginDetailsProvider.cs index 6ddcd5bc47..be2cfdf1be 100644 --- a/source/Calamari.Shared/Integration/Packages/Download/AcrFeedLoginDetailsProvider.cs +++ b/source/Calamari/Integration/Packages/Download/AcrFeedLoginDetailsProvider.cs @@ -1,6 +1,7 @@ using System; using System.Threading.Tasks; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Azure; using Calamari.Common.Plumbing.Logging; using Calamari.Common.Plumbing.Variables; diff --git a/source/Calamari.Shared/Integration/Packages/Download/ArtifactoryPackageDownloader.cs b/source/Calamari/Integration/Packages/Download/ArtifactoryPackageDownloader.cs similarity index 100% rename from source/Calamari.Shared/Integration/Packages/Download/ArtifactoryPackageDownloader.cs rename to source/Calamari/Integration/Packages/Download/ArtifactoryPackageDownloader.cs diff --git a/source/Calamari.Shared/Integration/Packages/Download/DockerCredentialHelper.cs b/source/Calamari/Integration/Packages/Download/DockerCredentialHelper.cs similarity index 98% rename from source/Calamari.Shared/Integration/Packages/Download/DockerCredentialHelper.cs rename to source/Calamari/Integration/Packages/Download/DockerCredentialHelper.cs index 4265313079..2a7a8a70ea 100644 --- a/source/Calamari.Shared/Integration/Packages/Download/DockerCredentialHelper.cs +++ b/source/Calamari/Integration/Packages/Download/DockerCredentialHelper.cs @@ -134,7 +134,7 @@ static void RemoveDirectoryFromPath(Dictionary environmentVariab static void EnsureCredentialHelperIsExecutable() { - if (CalamariEnvironment.IsRunningOnWindows) + if (CalamariEnvironment.IsRunningOnWindows || OperatingSystem.IsWindows()) return; var helperPath = Path.Combine(AppContext.BaseDirectory, "docker-credential-octopus"); diff --git a/source/Calamari.Shared/Integration/Packages/Download/DockerImagePackageDownloader.cs b/source/Calamari/Integration/Packages/Download/DockerImagePackageDownloader.cs similarity index 100% rename from source/Calamari.Shared/Integration/Packages/Download/DockerImagePackageDownloader.cs rename to source/Calamari/Integration/Packages/Download/DockerImagePackageDownloader.cs diff --git a/source/Calamari.Shared/Integration/Packages/Download/EcrFeedLoginDetailsProvider.cs b/source/Calamari/Integration/Packages/Download/EcrFeedLoginDetailsProvider.cs similarity index 97% rename from source/Calamari.Shared/Integration/Packages/Download/EcrFeedLoginDetailsProvider.cs rename to source/Calamari/Integration/Packages/Download/EcrFeedLoginDetailsProvider.cs index 1f4aa8718c..08acb61fce 100644 --- a/source/Calamari.Shared/Integration/Packages/Download/EcrFeedLoginDetailsProvider.cs +++ b/source/Calamari/Integration/Packages/Download/EcrFeedLoginDetailsProvider.cs @@ -1,6 +1,6 @@ using System; using System.Threading.Tasks; -using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Aws; using Calamari.Common.Plumbing.Logging; using Calamari.Common.Plumbing.Variables; @@ -28,6 +28,4 @@ public class EcrFeedLoginDetailsProvider : IFeedLoginDetailsProvider return await AwsAuthenticationProvider.GetEcrAccessKeyCredentials(variables, username ?? string.Empty, password ?? string.Empty); } } - - } \ No newline at end of file diff --git a/source/Calamari.Shared/Integration/Packages/Download/GcrFeedLoginDetailsProvider.cs b/source/Calamari/Integration/Packages/Download/GcrFeedLoginDetailsProvider.cs similarity index 86% rename from source/Calamari.Shared/Integration/Packages/Download/GcrFeedLoginDetailsProvider.cs rename to source/Calamari/Integration/Packages/Download/GcrFeedLoginDetailsProvider.cs index a2bea92ff3..4225e8153e 100644 --- a/source/Calamari.Shared/Integration/Packages/Download/GcrFeedLoginDetailsProvider.cs +++ b/source/Calamari/Integration/Packages/Download/GcrFeedLoginDetailsProvider.cs @@ -1,6 +1,6 @@ using System; using System.Threading.Tasks; -using Calamari.CloudAccounts; +using Calamari.CloudAccounts.GoogleCloud; using Calamari.Common.Plumbing.Logging; using Calamari.Common.Plumbing.Variables; @@ -18,7 +18,7 @@ public class GcrFeedLoginDetailsProvider : IFeedLoginDetailsProvider } Log.Verbose("Gcr Feed - Using json key authentication flow."); - return await Task.FromResult(gcrAuth.GetGcrUserNamePasswordCredentials(username, password, feedUri)); + return gcrAuth.GetGcrUserNamePasswordCredentials(username, password, feedUri); } } } \ No newline at end of file diff --git a/source/Calamari.Shared/Integration/Packages/Download/GcsStoragePackageDownloader.cs b/source/Calamari/Integration/Packages/Download/GcsStoragePackageDownloader.cs similarity index 100% rename from source/Calamari.Shared/Integration/Packages/Download/GcsStoragePackageDownloader.cs rename to source/Calamari/Integration/Packages/Download/GcsStoragePackageDownloader.cs diff --git a/source/Calamari.Shared/Integration/Packages/Download/GitHubPackageDownloader.cs b/source/Calamari/Integration/Packages/Download/GitHubPackageDownloader.cs similarity index 98% rename from source/Calamari.Shared/Integration/Packages/Download/GitHubPackageDownloader.cs rename to source/Calamari/Integration/Packages/Download/GitHubPackageDownloader.cs index 0a07e9089a..a146360b52 100644 --- a/source/Calamari.Shared/Integration/Packages/Download/GitHubPackageDownloader.cs +++ b/source/Calamari/Integration/Packages/Download/GitHubPackageDownloader.cs @@ -3,6 +3,7 @@ using System.Linq; using System.Net; using System.Net.Cache; +using System.Net.Http; using System.Threading; using Calamari.Common.Commands; using Calamari.Common.Features.Packages; @@ -127,7 +128,7 @@ PackagePhysicalFileMetadata DownloadPackage( JArray? req = null; while (req == null || req.Count != 0 && req.Count < 1000) { - var uri = feedUri.AbsoluteUri + $"repos/{Uri.EscapeUriString(owner)}/{Uri.EscapeUriString(repository)}/tags?page={++page}&per_page=1000"; + var uri = feedUri.AbsoluteUri + $"repos/{Uri.EscapeDataString(owner)}/{Uri.EscapeDataString(repository)}/tags?page={++page}&per_page=1000"; req = PerformRequest(authorizationToken, uri) as JArray; if (req == null) break; @@ -179,8 +180,10 @@ PackagePhysicalFileMetadata DownloadFile(string uri, try { if (retry != 0) Log.Verbose($"Download Attempt #{retry + 1}"); - + +#pragma warning disable SYSLIB0014 using (var client = new WebClient()) +#pragma warning restore SYSLIB0014 { client.CachePolicy = new RequestCachePolicy(RequestCacheLevel.CacheIfAvailable); client.Headers.Set(HttpRequestHeader.UserAgent, GetUserAgent()); @@ -205,7 +208,9 @@ JToken PerformRequest(string? authorizationToken, string uri) { try { +#pragma warning disable SYSLIB0014 using (var client = new WebClient()) +#pragma warning restore SYSLIB0014 { client.CachePolicy = new RequestCachePolicy(RequestCacheLevel.BypassCache); client.Headers.Set(HttpRequestHeader.UserAgent, GetUserAgent()); diff --git a/source/Calamari.Shared/Integration/Packages/Download/Helm/HelmEndpointProxy.cs b/source/Calamari/Integration/Packages/Download/Helm/HelmEndpointProxy.cs similarity index 100% rename from source/Calamari.Shared/Integration/Packages/Download/Helm/HelmEndpointProxy.cs rename to source/Calamari/Integration/Packages/Download/Helm/HelmEndpointProxy.cs diff --git a/source/Calamari.Shared/Integration/Packages/Download/Helm/HelmIndexYamlReader.cs b/source/Calamari/Integration/Packages/Download/Helm/HelmIndexYamlReader.cs similarity index 100% rename from source/Calamari.Shared/Integration/Packages/Download/Helm/HelmIndexYamlReader.cs rename to source/Calamari/Integration/Packages/Download/Helm/HelmIndexYamlReader.cs diff --git a/source/Calamari.Shared/Integration/Packages/Download/HelmChartPackageDownloader.cs b/source/Calamari/Integration/Packages/Download/HelmChartPackageDownloader.cs similarity index 100% rename from source/Calamari.Shared/Integration/Packages/Download/HelmChartPackageDownloader.cs rename to source/Calamari/Integration/Packages/Download/HelmChartPackageDownloader.cs diff --git a/source/Calamari.Shared/Integration/Packages/Download/IFeedLoginDetailsProviderFactory.cs b/source/Calamari/Integration/Packages/Download/IFeedLoginDetailsProviderFactory.cs similarity index 100% rename from source/Calamari.Shared/Integration/Packages/Download/IFeedLoginDetailsProviderFactory.cs rename to source/Calamari/Integration/Packages/Download/IFeedLoginDetailsProviderFactory.cs diff --git a/source/Calamari.Shared/Integration/Packages/Download/IPackageDownloader.cs b/source/Calamari/Integration/Packages/Download/IPackageDownloader.cs similarity index 100% rename from source/Calamari.Shared/Integration/Packages/Download/IPackageDownloader.cs rename to source/Calamari/Integration/Packages/Download/IPackageDownloader.cs diff --git a/source/Calamari.Shared/Integration/Packages/Download/IPackageDownloaderUtils.cs b/source/Calamari/Integration/Packages/Download/IPackageDownloaderUtils.cs similarity index 100% rename from source/Calamari.Shared/Integration/Packages/Download/IPackageDownloaderUtils.cs rename to source/Calamari/Integration/Packages/Download/IPackageDownloaderUtils.cs diff --git a/source/Calamari.Shared/Integration/Packages/Download/MavenDownloadException.cs b/source/Calamari/Integration/Packages/Download/MavenDownloadException.cs similarity index 100% rename from source/Calamari.Shared/Integration/Packages/Download/MavenDownloadException.cs rename to source/Calamari/Integration/Packages/Download/MavenDownloadException.cs diff --git a/source/Calamari.Shared/Integration/Packages/Download/MavenPackageDownloader.cs b/source/Calamari/Integration/Packages/Download/MavenPackageDownloader.cs similarity index 68% rename from source/Calamari.Shared/Integration/Packages/Download/MavenPackageDownloader.cs rename to source/Calamari/Integration/Packages/Download/MavenPackageDownloader.cs index 3ae7d5cf26..38ed9c0299 100644 --- a/source/Calamari.Shared/Integration/Packages/Download/MavenPackageDownloader.cs +++ b/source/Calamari/Integration/Packages/Download/MavenPackageDownloader.cs @@ -3,6 +3,7 @@ using System.IO; using System.Linq; using System.Net; +using System.Net.Http; using System.Text.RegularExpressions; using System.Threading; using System.Xml; @@ -176,27 +177,37 @@ PackagePhysicalFileMetadata DownloadArtifact( Guard.NotNull(feedUri, "feedUri can not be null"); var localDownloadName = Path.Combine(cacheDirectory, PackageName.ToCachedFileName(packageId, version, "." + mavenGavFirst.Packaging)); - var downloadUrl = feedUri.ToString().TrimEnd('/') + - (snapshotMetadata == null - ? mavenGavFirst.DefaultArtifactPath - : mavenGavFirst.SnapshotArtifactPath(GetLatestSnapshotRelease( - snapshotMetadata, - mavenGavFirst.Packaging, - mavenGavFirst.Classifier, - mavenGavFirst.Version))); + var downloadUrl = feedUri.ToString().TrimEnd('/') + + (snapshotMetadata == null + ? mavenGavFirst.DefaultArtifactPath + : mavenGavFirst.SnapshotArtifactPath(GetLatestSnapshotRelease( + snapshotMetadata, + mavenGavFirst.Packaging, + mavenGavFirst.Classifier, + mavenGavFirst.Version))); for (var retry = 0; retry < maxDownloadAttempts; ++retry) try { Log.Verbose($"Downloading Attempt {downloadUrl} TO {localDownloadName}"); - using (var client = new WebClient - { Credentials = feedCredentials }) + + var handler = new HttpClientHandler + { + Credentials = feedCredentials + }; + var httpClient = new HttpClient(handler); + + var response = httpClient.Send(new HttpRequestMessage(HttpMethod.Get, downloadUrl)); + response.EnsureSuccessStatusCode(); + + using (var fs = new FileStream(localDownloadName, FileMode.CreateNew)) { - client.DownloadFile(downloadUrl, localDownloadName); - var packagePhysicalFileMetadata = PackagePhysicalFileMetadata.Build(localDownloadName); - return packagePhysicalFileMetadata - ?? throw new CommandException($"Unable to retrieve metadata for package {packageId}, version {version}"); + response.Content.CopyTo(fs, null, CancellationToken.None); } + + var packagePhysicalFileMetadata = PackagePhysicalFileMetadata.Build(localDownloadName); + return packagePhysicalFileMetadata + ?? throw new CommandException($"Unable to retrieve metadata for package {packageId}, version {version}"); } catch (Exception ex) { @@ -224,25 +235,25 @@ MavenPackageID FirstToRespond( var errors = new ConcurrentBag(); var fileChecks = JarPackageExtractor.SupportedExtensions - .Union(AdditionalExtensions) - // Either consider all supported extensions, or select only the specified extension - .Where(e => string.IsNullOrEmpty(mavenPackageId.Packaging) || e == "." + mavenPackageId.Packaging) - .Select(extension => - { - var packageId = new MavenPackageID( - mavenPackageId.Group, - mavenPackageId.Artifact, - mavenPackageId.Version, - Regex.Replace(extension, "^\\.", ""), - mavenPackageId.Classifier); - var result = MavenPackageExists(packageId, feedUri, feedCredentials, snapshotMetadata); - errors.Add(result.ErrorMsg); - return new - { - result.Found, - MavenPackageId = packageId - }; - }); + .Union(AdditionalExtensions) + // Either consider all supported extensions, or select only the specified extension + .Where(e => string.IsNullOrEmpty(mavenPackageId.Packaging) || e == "." + mavenPackageId.Packaging) + .Select(extension => + { + var packageId = new MavenPackageID( + mavenPackageId.Group, + mavenPackageId.Artifact, + mavenPackageId.Version, + Regex.Replace(extension, "^\\.", ""), + mavenPackageId.Classifier); + var result = MavenPackageExists(packageId, feedUri, feedCredentials, snapshotMetadata); + errors.Add(result.ErrorMsg); + return new + { + result.Found, + MavenPackageId = packageId + }; + }); var firstFound = fileChecks.FirstOrDefault(res => res.Found); if (firstFound != null) @@ -258,25 +269,24 @@ MavenPackageID FirstToRespond( /// true if the package exists, and false otherwise (bool Found, string ErrorMsg) MavenPackageExists(MavenPackageID mavenGavParser, Uri feedUri, ICredentials feedCredentials, XmlDocument? snapshotMetadata) { - var uri = feedUri.ToString().TrimEnd('/') + - (snapshotMetadata == null - ? mavenGavParser.DefaultArtifactPath - : mavenGavParser.SnapshotArtifactPath( - GetLatestSnapshotRelease( - snapshotMetadata, - mavenGavParser.Packaging, - mavenGavParser.Classifier, - mavenGavParser.Version))); + var uri = feedUri.ToString().TrimEnd('/') + + (snapshotMetadata == null + ? mavenGavParser.DefaultArtifactPath + : mavenGavParser.SnapshotArtifactPath( + GetLatestSnapshotRelease( + snapshotMetadata, + mavenGavParser.Packaging, + mavenGavParser.Classifier, + mavenGavParser.Version))); try { - var req = WebRequest.Create(uri); - req.Method = "HEAD"; - req.Credentials = feedCredentials; - using (var response = (HttpWebResponse)req.GetResponse()) - { - return ((int)response.StatusCode >= 200 && (int)response.StatusCode <= 299, $"Unexpected Response: {response.StatusCode}"); - } + var httpClient = new HttpClient(); + var request = new HttpRequestMessage(HttpMethod.Head, uri); + + var response = httpClient.Send(request); + + return (response.IsSuccessStatusCode, $"Unexpected Response: {response.StatusCode}"); } catch (Exception ex) { @@ -300,23 +310,26 @@ MavenPackageID FirstToRespond( for (var retry = 0; retry < maxDownloadAttempts; ++retry) try { - var request = WebRequest.Create(url); - request.Credentials = feedCredentials; - using (var response = (HttpWebResponse)request.GetResponse()) + var handler = new HttpClientHandler { - if (response.IsSuccessStatusCode() || (int)response.StatusCode == 404) - using (var respStream = response.GetResponseStream()) - { - var xmlDoc = new XmlDocument(); - xmlDoc.Load(respStream); - return xmlDoc; - } + Credentials = feedCredentials + }; + var httpClient = new HttpClient(handler); + var response = httpClient.Send(new HttpRequestMessage(HttpMethod.Get, url)); + + if (response.IsSuccessStatusCode || response.StatusCode == HttpStatusCode.NotFound) + { + using (var contentStream = response.Content.ReadAsStream()) + { + var xmlDoc = new XmlDocument(); + xmlDoc.Load(contentStream); + return xmlDoc; + } } return null; } - catch (WebException ex) when (ex.Response is HttpWebResponse response && - response.StatusCode == HttpStatusCode.NotFound) + catch (WebException ex) when (ex.Response is HttpWebResponse response && response.StatusCode == HttpStatusCode.NotFound) { return null; } @@ -334,19 +347,19 @@ MavenPackageID FirstToRespond( public string GetLatestSnapshotRelease(XmlDocument? snapshotMetadata, string? extension, string? classifier, string defaultVersion) { return snapshotMetadata?.ToEnumerable() - .Select(doc => doc.DocumentElement?.SelectSingleNode("./*[local-name()='versioning']")) - .Select(node => node?.SelectNodes("./*[local-name()='snapshotVersions']/*[local-name()='snapshotVersion']")) - .Where(nodes => nodes != null) - .SelectMany(nodes => nodes.Cast()) - .Where(node => (node.SelectSingleNode("./*[local-name()='extension']")?.InnerText.Trim() ?? "").Equals(extension?.Trim(), StringComparison.OrdinalIgnoreCase)) - // Classifier is optional, and the XML element does not exists if the artifact has no classifier - .Where(node => classifier == null || (node.SelectSingleNode("./*[local-name()='classifier']")?.InnerText.Trim() ?? "").Equals(classifier.Trim(), StringComparison.OrdinalIgnoreCase)) - .OrderByDescending(node => node.SelectSingleNode("./*[local-name()='updated']")?.InnerText) - .Select(node => node.SelectSingleNode("./*[local-name()='value']")?.InnerText) - .FirstOrDefault() ?? - defaultVersion; + .Select(doc => doc.DocumentElement?.SelectSingleNode("./*[local-name()='versioning']")) + .Select(node => node?.SelectNodes("./*[local-name()='snapshotVersions']/*[local-name()='snapshotVersion']")) + .Where(nodes => nodes != null) + .SelectMany(nodes => nodes.Cast()) + .Where(node => (node.SelectSingleNode("./*[local-name()='extension']")?.InnerText.Trim() ?? "").Equals(extension?.Trim(), StringComparison.OrdinalIgnoreCase)) + // Classifier is optional, and the XML element does not exists if the artifact has no classifier + .Where(node => classifier == null || (node.SelectSingleNode("./*[local-name()='classifier']")?.InnerText.Trim() ?? "").Equals(classifier.Trim(), StringComparison.OrdinalIgnoreCase)) + .OrderByDescending(node => node.SelectSingleNode("./*[local-name()='updated']")?.InnerText) + .Select(node => node.SelectSingleNode("./*[local-name()='value']")?.InnerText) + .FirstOrDefault() + ?? defaultVersion; } - + static ICredentials GetFeedCredentials(string? feedUsername, string? feedPassword) { ICredentials credentials = CredentialCache.DefaultNetworkCredentials; @@ -354,6 +367,7 @@ static ICredentials GetFeedCredentials(string? feedUsername, string? feedPasswor { credentials = new NetworkCredential(feedUsername, feedPassword); } + return credentials; } } diff --git a/source/Calamari.Shared/Integration/Packages/Download/NpmPackageDownloader.cs b/source/Calamari/Integration/Packages/Download/NpmPackageDownloader.cs similarity index 100% rename from source/Calamari.Shared/Integration/Packages/Download/NpmPackageDownloader.cs rename to source/Calamari/Integration/Packages/Download/NpmPackageDownloader.cs diff --git a/source/Calamari.Shared/Integration/Packages/Download/NuGetPackageDownloader.cs b/source/Calamari/Integration/Packages/Download/NuGetPackageDownloader.cs similarity index 100% rename from source/Calamari.Shared/Integration/Packages/Download/NuGetPackageDownloader.cs rename to source/Calamari/Integration/Packages/Download/NuGetPackageDownloader.cs diff --git a/source/Calamari.Shared/Integration/Packages/Download/OciPackageDownloader.cs b/source/Calamari/Integration/Packages/Download/OciPackageDownloader.cs similarity index 100% rename from source/Calamari.Shared/Integration/Packages/Download/OciPackageDownloader.cs rename to source/Calamari/Integration/Packages/Download/OciPackageDownloader.cs diff --git a/source/Calamari.Shared/Integration/Packages/Download/PackageDownloaderRetryUtils.cs b/source/Calamari/Integration/Packages/Download/PackageDownloaderRetryUtils.cs similarity index 100% rename from source/Calamari.Shared/Integration/Packages/Download/PackageDownloaderRetryUtils.cs rename to source/Calamari/Integration/Packages/Download/PackageDownloaderRetryUtils.cs diff --git a/source/Calamari.Shared/Integration/Packages/Download/PackageDownloaderStrategy.cs b/source/Calamari/Integration/Packages/Download/PackageDownloaderStrategy.cs similarity index 100% rename from source/Calamari.Shared/Integration/Packages/Download/PackageDownloaderStrategy.cs rename to source/Calamari/Integration/Packages/Download/PackageDownloaderStrategy.cs diff --git a/source/Calamari.Shared/Integration/Packages/Download/PackageDownloaderUtils.cs b/source/Calamari/Integration/Packages/Download/PackageDownloaderUtils.cs similarity index 100% rename from source/Calamari.Shared/Integration/Packages/Download/PackageDownloaderUtils.cs rename to source/Calamari/Integration/Packages/Download/PackageDownloaderUtils.cs diff --git a/source/Calamari.Shared/Integration/Packages/Download/PyPiPackageDownloader.cs b/source/Calamari/Integration/Packages/Download/PyPiPackageDownloader.cs similarity index 100% rename from source/Calamari.Shared/Integration/Packages/Download/PyPiPackageDownloader.cs rename to source/Calamari/Integration/Packages/Download/PyPiPackageDownloader.cs diff --git a/source/Calamari.Shared/Integration/Packages/Download/S3PackageDownloader.cs b/source/Calamari/Integration/Packages/Download/S3PackageDownloader.cs similarity index 98% rename from source/Calamari.Shared/Integration/Packages/Download/S3PackageDownloader.cs rename to source/Calamari/Integration/Packages/Download/S3PackageDownloader.cs index c797c05fde..ba95d09396 100644 --- a/source/Calamari.Shared/Integration/Packages/Download/S3PackageDownloader.cs +++ b/source/Calamari/Integration/Packages/Download/S3PackageDownloader.cs @@ -7,6 +7,7 @@ using Amazon.Runtime; using Amazon.S3; using Amazon.S3.Model; +using Calamari.CloudAccounts.Aws; using Calamari.Common.Commands; using Calamari.Common.Features.Packages; using Calamari.Common.Plumbing.FileSystem; @@ -90,7 +91,7 @@ public PackagePhysicalFileMetadata DownloadPackage(string packageId, { try { - var region = variables.Get(AuthenticationVariables.Aws.Region) ?? GetBucketsRegion(feedUsername, feedPassword, bucketName); + var region = variables.Get(AwsAccountVariables.Region) ?? GetBucketsRegion(feedUsername, feedPassword, bucketName); log.Verbose($"Attempting download of package {packageId} version {version} from S3 bucket {bucketName} in region {region}. Attempt #{retry + 1}"); diff --git a/source/Calamari.Shared/Integration/Packages/Download/ScriptExtractor.cs b/source/Calamari/Integration/Packages/Download/ScriptExtractor.cs similarity index 100% rename from source/Calamari.Shared/Integration/Packages/Download/ScriptExtractor.cs rename to source/Calamari/Integration/Packages/Download/ScriptExtractor.cs diff --git a/source/Calamari.Shared/Integration/Packages/Download/Scripts/DockerLogin.ps1 b/source/Calamari/Integration/Packages/Download/Scripts/DockerLogin.ps1 similarity index 100% rename from source/Calamari.Shared/Integration/Packages/Download/Scripts/DockerLogin.ps1 rename to source/Calamari/Integration/Packages/Download/Scripts/DockerLogin.ps1 diff --git a/source/Calamari.Shared/Integration/Packages/Download/Scripts/DockerLogin.sh b/source/Calamari/Integration/Packages/Download/Scripts/DockerLogin.sh similarity index 100% rename from source/Calamari.Shared/Integration/Packages/Download/Scripts/DockerLogin.sh rename to source/Calamari/Integration/Packages/Download/Scripts/DockerLogin.sh diff --git a/source/Calamari.Shared/Integration/Packages/Download/Scripts/DockerPull.ps1 b/source/Calamari/Integration/Packages/Download/Scripts/DockerPull.ps1 similarity index 100% rename from source/Calamari.Shared/Integration/Packages/Download/Scripts/DockerPull.ps1 rename to source/Calamari/Integration/Packages/Download/Scripts/DockerPull.ps1 diff --git a/source/Calamari.Shared/Integration/Packages/Download/Scripts/DockerPull.sh b/source/Calamari/Integration/Packages/Download/Scripts/DockerPull.sh similarity index 100% rename from source/Calamari.Shared/Integration/Packages/Download/Scripts/DockerPull.sh rename to source/Calamari/Integration/Packages/Download/Scripts/DockerPull.sh diff --git a/source/Calamari.Shared/Integration/Packages/NuGet/InternalNuGetPackageDownloader.cs b/source/Calamari/Integration/Packages/NuGet/InternalNuGetPackageDownloader.cs similarity index 100% rename from source/Calamari.Shared/Integration/Packages/NuGet/InternalNuGetPackageDownloader.cs rename to source/Calamari/Integration/Packages/NuGet/InternalNuGetPackageDownloader.cs diff --git a/source/Calamari.Shared/Integration/Packages/NuGet/NuGetFileSystemDownloader.cs b/source/Calamari/Integration/Packages/NuGet/NuGetFileSystemDownloader.cs similarity index 100% rename from source/Calamari.Shared/Integration/Packages/NuGet/NuGetFileSystemDownloader.cs rename to source/Calamari/Integration/Packages/NuGet/NuGetFileSystemDownloader.cs diff --git a/source/Calamari.Shared/Integration/Packages/NuGet/NuGetServiceTypes.cs b/source/Calamari/Integration/Packages/NuGet/NuGetServiceTypes.cs similarity index 100% rename from source/Calamari.Shared/Integration/Packages/NuGet/NuGetServiceTypes.cs rename to source/Calamari/Integration/Packages/NuGet/NuGetServiceTypes.cs diff --git a/source/Calamari.Shared/Integration/Packages/NuGet/NuGetV3LibDownloader.cs b/source/Calamari/Integration/Packages/NuGet/NuGetV3LibDownloader.cs similarity index 100% rename from source/Calamari.Shared/Integration/Packages/NuGet/NuGetV3LibDownloader.cs rename to source/Calamari/Integration/Packages/NuGet/NuGetV3LibDownloader.cs diff --git a/source/Calamari/Kubernetes/Authentication/AwsCliAuth.cs b/source/Calamari/Kubernetes/Authentication/AwsCliAuth.cs index 0d6b6b891f..6d6729bb84 100644 --- a/source/Calamari/Kubernetes/Authentication/AwsCliAuth.cs +++ b/source/Calamari/Kubernetes/Authentication/AwsCliAuth.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Text.RegularExpressions; using Calamari.CloudAccounts; +using Calamari.CloudAccounts.Aws; using Calamari.Common.FeatureToggles; using Calamari.Common.Plumbing.Logging; using Calamari.Common.Plumbing.Variables; From 378a0834ea87dd3f26f9de930706ee0d15659ecb Mon Sep 17 00:00:00 2001 From: Alastair Pitts Date: Tue, 9 Jun 2026 16:02:48 +1000 Subject: [PATCH 2/2] Other stuff --- .../GcloudOauthFilesConfiguration.cs | 8 +------- .../GoogleCloudAccountExtensions.cs | 7 ++----- .../Calamari.GoogleCloudAccounts.csproj | 15 --------------- .../Calamari.GoogleCloudScripting.csproj | 2 +- .../GoogleCloudContextScriptWrapper.cs | 2 +- .../Behaviours/TerraformDeployBehaviour.cs | 2 +- .../Calamari.Terraform/Calamari.Terraform.csproj | 2 +- source/Calamari.sln | 6 ------ 8 files changed, 7 insertions(+), 37 deletions(-) rename source/{Calamari.GoogleCloudAccounts => Calamari.CloudAccounts.GoogleCloud}/GcloudOauthFilesConfiguration.cs (84%) rename source/{Calamari.GoogleCloudAccounts => Calamari.CloudAccounts.GoogleCloud}/GoogleCloudAccountExtensions.cs (98%) delete mode 100644 source/Calamari.GoogleCloudAccounts/Calamari.GoogleCloudAccounts.csproj diff --git a/source/Calamari.GoogleCloudAccounts/GcloudOauthFilesConfiguration.cs b/source/Calamari.CloudAccounts.GoogleCloud/GcloudOauthFilesConfiguration.cs similarity index 84% rename from source/Calamari.GoogleCloudAccounts/GcloudOauthFilesConfiguration.cs rename to source/Calamari.CloudAccounts.GoogleCloud/GcloudOauthFilesConfiguration.cs index c45007b804..e84127c139 100644 --- a/source/Calamari.GoogleCloudAccounts/GcloudOauthFilesConfiguration.cs +++ b/source/Calamari.CloudAccounts.GoogleCloud/GcloudOauthFilesConfiguration.cs @@ -1,13 +1,7 @@ using System; -using System.Collections.Generic; -using System.IO; -using Calamari.Common.Features.Processes; -using Calamari.Common.Features.Scripting; using Calamari.Common.Plumbing.FileSystem; -using Calamari.Common.Plumbing.Logging; -using Calamari.Common.Plumbing.Variables; -namespace Calamari.GoogleCloudAccounts +namespace Calamari.CloudAccounts.GoogleCloud { /// /// Gcloud oauth uses the jwt (as a file on disk) to create another creds config file. diff --git a/source/Calamari.GoogleCloudAccounts/GoogleCloudAccountExtensions.cs b/source/Calamari.CloudAccounts.GoogleCloud/GoogleCloudAccountExtensions.cs similarity index 98% rename from source/Calamari.GoogleCloudAccounts/GoogleCloudAccountExtensions.cs rename to source/Calamari.CloudAccounts.GoogleCloud/GoogleCloudAccountExtensions.cs index d56f64a418..dc9bde39ee 100644 --- a/source/Calamari.GoogleCloudAccounts/GoogleCloudAccountExtensions.cs +++ b/source/Calamari.CloudAccounts.GoogleCloud/GoogleCloudAccountExtensions.cs @@ -1,7 +1,4 @@ using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; using Calamari.Common.Features.Processes; using Calamari.Common.Features.Scripting; using Calamari.Common.Plumbing; @@ -11,7 +8,7 @@ using Calamari.Common.Plumbing.Proxies; using Calamari.Common.Plumbing.Variables; -namespace Calamari.GoogleCloudAccounts +namespace Calamari.CloudAccounts.GoogleCloud { public class SetupGCloudAuthentication { @@ -22,7 +19,7 @@ public class SetupGCloudAuthentication readonly string workingDirectory; readonly string jwtFilePath; readonly string jsonAuthFilePath; - private string gcloud = String.Empty; + private string gcloud = string.Empty; public SetupGCloudAuthentication(IVariables variables, ILog log, diff --git a/source/Calamari.GoogleCloudAccounts/Calamari.GoogleCloudAccounts.csproj b/source/Calamari.GoogleCloudAccounts/Calamari.GoogleCloudAccounts.csproj deleted file mode 100644 index 012535291a..0000000000 --- a/source/Calamari.GoogleCloudAccounts/Calamari.GoogleCloudAccounts.csproj +++ /dev/null @@ -1,15 +0,0 @@ - - - - Calamari.GoogleCloudAccounts - net8.0 - - CS8632 - true - - - - - - - diff --git a/source/Calamari.GoogleCloudScripting/Calamari.GoogleCloudScripting.csproj b/source/Calamari.GoogleCloudScripting/Calamari.GoogleCloudScripting.csproj index 2f3bf29646..3cec83c8e9 100644 --- a/source/Calamari.GoogleCloudScripting/Calamari.GoogleCloudScripting.csproj +++ b/source/Calamari.GoogleCloudScripting/Calamari.GoogleCloudScripting.csproj @@ -13,7 +13,7 @@ - + diff --git a/source/Calamari.GoogleCloudScripting/GoogleCloudContextScriptWrapper.cs b/source/Calamari.GoogleCloudScripting/GoogleCloudContextScriptWrapper.cs index 90af717edd..ca063e961a 100644 --- a/source/Calamari.GoogleCloudScripting/GoogleCloudContextScriptWrapper.cs +++ b/source/Calamari.GoogleCloudScripting/GoogleCloudContextScriptWrapper.cs @@ -7,7 +7,7 @@ using Calamari.Common.Features.Scripts; using Calamari.Common.Plumbing.Logging; using Calamari.Common.Plumbing.Variables; -using Calamari.GoogleCloudAccounts; +using Calamari.CloudAccounts.GoogleCloud; namespace Calamari.GoogleCloudScripting { diff --git a/source/Calamari.Terraform/Behaviours/TerraformDeployBehaviour.cs b/source/Calamari.Terraform/Behaviours/TerraformDeployBehaviour.cs index 9330a1f5d7..c151d22368 100644 --- a/source/Calamari.Terraform/Behaviours/TerraformDeployBehaviour.cs +++ b/source/Calamari.Terraform/Behaviours/TerraformDeployBehaviour.cs @@ -11,7 +11,7 @@ using Calamari.Common.Plumbing.Logging; using Calamari.Common.Plumbing.Pipeline; using Calamari.Common.Plumbing.Variables; -using Calamari.GoogleCloudAccounts; +using Calamari.CloudAccounts.GoogleCloud; using Newtonsoft.Json; namespace Calamari.Terraform.Behaviours diff --git a/source/Calamari.Terraform/Calamari.Terraform.csproj b/source/Calamari.Terraform/Calamari.Terraform.csproj index 751dcab936..0ef61d2a6f 100644 --- a/source/Calamari.Terraform/Calamari.Terraform.csproj +++ b/source/Calamari.Terraform/Calamari.Terraform.csproj @@ -14,7 +14,7 @@ - + diff --git a/source/Calamari.sln b/source/Calamari.sln index 34cbd8d00c..f87eda6b33 100644 --- a/source/Calamari.sln +++ b/source/Calamari.sln @@ -76,8 +76,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Calamari.Scripting", "Calam EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Calamari.Scripting.Tests", "Calamari.Scripting.Tests\Calamari.Scripting.Tests.csproj", "{D8DEC40C-948F-4806-AE87-1A7502E41A06}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Calamari.GoogleCloudAccounts", "Calamari.GoogleCloudAccounts\Calamari.GoogleCloudAccounts.csproj", "{74F2739F-A501-4F30-BF9E-75A087C3B917}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Calamari.ConsolidateCalamariPackages.Api", "Calamari.ConsolidateCalamariPackages.Api\Calamari.ConsolidateCalamariPackages.Api.csproj", "{A3BFFA0E-7514-41DE-A141-E124133D0665}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Calamari.AzureWebApp.NetCoreShim", "Calamari.AzureWebApp.NetCoreShim\Calamari.AzureWebApp.NetCoreShim.csproj", "{B4EB8110-50D8-4C7E-8DBF-102AE57FD943}" @@ -212,10 +210,6 @@ Global {D8DEC40C-948F-4806-AE87-1A7502E41A06}.Debug|Any CPU.Build.0 = Debug|Any CPU {D8DEC40C-948F-4806-AE87-1A7502E41A06}.Release|Any CPU.ActiveCfg = Release|Any CPU {D8DEC40C-948F-4806-AE87-1A7502E41A06}.Release|Any CPU.Build.0 = Release|Any CPU - {74F2739F-A501-4F30-BF9E-75A087C3B917}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {74F2739F-A501-4F30-BF9E-75A087C3B917}.Debug|Any CPU.Build.0 = Debug|Any CPU - {74F2739F-A501-4F30-BF9E-75A087C3B917}.Release|Any CPU.ActiveCfg = Release|Any CPU - {74F2739F-A501-4F30-BF9E-75A087C3B917}.Release|Any CPU.Build.0 = Release|Any CPU {A3BFFA0E-7514-41DE-A141-E124133D0665}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A3BFFA0E-7514-41DE-A141-E124133D0665}.Debug|Any CPU.Build.0 = Debug|Any CPU {A3BFFA0E-7514-41DE-A141-E124133D0665}.Release|Any CPU.ActiveCfg = Release|Any CPU