Skip to content

Commit cb7dcaa

Browse files
authored
Merge pull request #7 from RestApia/feature/az-keyvault-fix
Azure keyvault minor fixes
2 parents 84b9ced + 478b88c commit cb7dcaa

File tree

8 files changed

+56
-13
lines changed

8 files changed

+56
-13
lines changed

publish-all.ps1

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
param(
2+
[string]$version = ""
3+
)
4+
5+
# call script in cli
6+
nuke Solution_Clean
7+
nuke Shared_Push --SharedLibVersion $version
8+
9+
# find all in Extensions folder
10+
$extensions = Get-ChildItem -Path .\src\Extensions -Directory
11+
#$extensions = @(
12+
# [PSCustomObject]@{ Name = "RestApia.Extensions.ValuesProvider.AzureKeyVault" },
13+
# [PSCustomObject]@{ Name = "RestApia.Extensions.ValuesProvider.CollectionValuesProvider" }
14+
#)
15+
16+
foreach ($extension in $extensions) {
17+
nuke Extension_Push --ExtensionName $extension.Name --ExtensionLibVersion $version
18+
}

src/Extensions/Directory.Build.props

-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
<RepositoryUrl>https://github.com/RestApia/RestApia.Shared</RepositoryUrl>
77
<PackageLicenseExpression>MIT</PackageLicenseExpression>
88
<PackageReadmeFile>README.md</PackageReadmeFile>
9-
<PackageReleaseNotes>RestApia: 0.3.0</PackageReleaseNotes>
109
</PropertyGroup>
1110

1211
<ItemGroup>

src/Extensions/RestApia.Extensions.Import.Postman/RestApia.Extensions.Import.Postman.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<Title>Import Postman Collection v2.1</Title>
55
<Description>Adds a new option to import Postman Collection v2.1, making it easy to bring your collections into RestApia for testing and development.</Description>
66
<RepositoryUrl>https://github.com/RestApia/RestApia.Shared/tree/main/src/Extensions/RestApia.Extensions.Import.Postman</RepositoryUrl>
7-
<PackageTags>RestApiaEmbedded, Extension, Import</PackageTags>
7+
<PackageTags>RestApiaEmbedded, Extension, Import, Preview</PackageTags>
88
</PropertyGroup>
99

1010
<ItemGroup>

src/Extensions/RestApia.Extensions.ValuesProvider.AzureKeyVault/KeyVaultValuesProvider.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public async Task<ReloadValuesResults> ReloadValuesAsync(IReadOnlyCollection<Val
6161
return ReloadValuesResults.Failed;
6262

6363
var values = await GetRemoteValuesAsync(settings);
64-
if (values == null) return ReloadValuesResults.Failed;
64+
if (values == null) return ReloadValuesResults.Canceled;
6565

6666
return new ReloadValuesResults
6767
{
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,24 @@
1-
# KeyVault secrets values provider
2-
TBD
1+
# Azure Key Vault Secrets Value Provider
2+
3+
**What is this extension?**
4+
5+
This extension is designed to securely and conveniently use secrets (such as passwords, API keys, or connection strings) stored in your Azure Key Vault directly within your RestApia API requests.
6+
7+
**Why is this useful?**
8+
9+
* **Enhanced Security:** Avoid hardcoding sensitive information directly into your API requests. Instead, retrieve them securely from Azure Key Vault.
10+
* **Simplified Management:** Centrally manage your secrets in Azure Key Vault, eliminating the need to update them across multiple locations.
11+
12+
**How does it work?**
13+
14+
Imagine you have an API request that requires sensitive values that cannot be safely stored within your RestApia collection. You can utilize an Azure Key Vault secret as a templated variable, which can be used in headers, query arguments, or for configuring authorization.
15+
16+
* The extension retrieves the secret from your Azure Key Vault.
17+
* All retrieved values are cached securely as encrypted data on your local machine, improving performance for subsequent requests.
18+
* **Authentication:** The extension uses the [DefaultAzureCredential](https://learn.microsoft.com/en-us/dotnet/api/azure.identity.defaultazurecredential?view=azure-dotnet) for seamless authentication with Azure. This supports various authentication methods, including environment variables, managed identities, Azure CLI, Visual Studio, and more, automatically selecting the appropriate method based on your environment.
19+
20+
**What do you need?**
21+
22+
* An active Azure subscription with an Azure Key Vault where your secrets are stored.
23+
* Appropriate permissions for your Azure account to access those secrets.
24+
* The RestApia application.

src/Extensions/RestApia.Extensions.ValuesProvider.AzureKeyVault/RestApia.Extensions.ValuesProvider.AzureKeyVault.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<Title>Azure KeyVault Values Provider</Title>
55
<Description>Extensions provides Azure KeyVault secrets as variables</Description>
66
<RepositoryUrl>https://github.com/RestApia/RestApia.Shared/tree/main/src/Extensions/RestApia.Extensions.ValuesProvider.AzureKeyVault</RepositoryUrl>
7-
<PackageTags>RestApia, RestApia:0.5.0, Extension, Values Provider</PackageTags>
7+
<PackageTags>RestApia, RestApia:0.8.14, Extension, Values Provider, Preview</PackageTags>
88
</PropertyGroup>
99

1010
<ItemGroup>

src/Playground/RestApia.Experiments.Tests/RestApia.Experiments.Tests.csproj

+11-5
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,21 @@
1010
</PropertyGroup>
1111

1212
<ItemGroup>
13-
<PackageReference Include="coverlet.collector" Version="6.0.0"/>
13+
<PackageReference Include="coverlet.collector" Version="6.0.4">
14+
<PrivateAssets>all</PrivateAssets>
15+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
16+
</PackageReference>
1417
<PackageReference Include="FluentAssertions" Version="6.12.1" />
1518
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" />
1619
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0"/>
1720
<PackageReference Include="NSubstitute" Version="5.1.0" />
18-
<PackageReference Include="NuGet.Protocol" Version="6.11.1" />
19-
<PackageReference Include="NUnit" Version="3.14.0"/>
20-
<PackageReference Include="NUnit.Analyzers" Version="3.9.0"/>
21-
<PackageReference Include="NUnit3TestAdapter" Version="4.5.0"/>
21+
<PackageReference Include="NuGet.Protocol" Version="6.13.2" />
22+
<PackageReference Include="NUnit" Version="4.3.2" />
23+
<PackageReference Include="NUnit.Analyzers" Version="4.6.0">
24+
<PrivateAssets>all</PrivateAssets>
25+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
26+
</PackageReference>
27+
<PackageReference Include="NUnit3TestAdapter" Version="5.0.0" />
2228
</ItemGroup>
2329

2430
<ItemGroup>

src/RestApia.Shared/RestApia.Shared.csproj

-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77
<RepositoryUrl>https://github.com/RestApia/RestApia.Shared</RepositoryUrl>
88
<PackageLicenseExpression>MIT</PackageLicenseExpression>
99
<PackageReadmeFile>README.md</PackageReadmeFile>
10-
<Version>1.0.4</Version>
11-
<AssemblyVersion>1.0.4</AssemblyVersion>
1210
</PropertyGroup>
1311

1412
<ItemGroup>

0 commit comments

Comments
 (0)