GCP.Extensions.Configuration.SecretManager
6.2.6
dotnet add package GCP.Extensions.Configuration.SecretManager --version 6.2.6
NuGet\Install-Package GCP.Extensions.Configuration.SecretManager -Version 6.2.6
<PackageReference Include="GCP.Extensions.Configuration.SecretManager" Version="6.2.6" />
<PackageVersion Include="GCP.Extensions.Configuration.SecretManager" Version="6.2.6" />
<PackageReference Include="GCP.Extensions.Configuration.SecretManager" />
paket add GCP.Extensions.Configuration.SecretManager --version 6.2.6
#r "nuget: GCP.Extensions.Configuration.SecretManager, 6.2.6"
#:package GCP.Extensions.Configuration.SecretManager@6.2.6
#addin nuget:?package=GCP.Extensions.Configuration.SecretManager&version=6.2.6
#tool nuget:?package=GCP.Extensions.Configuration.SecretManager&version=6.2.6
GCP.Extensions.Configuration.SecretManager
Configuration provider for Microsoft.Extensions.Configuration framework.
See https://cloud.google.com/secret-manager/docs/reference/libraries on how to create application credential file.
When running outside cloud:
- Set Environment variable GOOGLE_APPLICATION_CREDENTIALS to enable
GoogleCredential.GetApplicationDefault(). - Build GoogleCredential in code with
GoogleCredential.GetApplicationDefault(), from file, or from JSON.
Set ProjectId value to over-ride value from GoogleCredential, inside or outside of cloud.
Multi-level Key support. Double underscore characters [__] in secret name will be replaced by configuration key path separator (colon [:])
Release Notes (v6.2.6)
- Updated Google.Cloud.SecretManager.V1 dependency to version 2.6.0
Release Notes (v6.2.5)
- Now targeting .Net Standard 2.0 and .Net Framework 4.6.2
- Updated Google.Cloud.SecretManager.V1 dependency to version 2.5.0
Release Notes (v6.0.0)
- Now targeting .Net Standard 2.1 and .Net Framework 4.6.2
- Updated Google.Cloud.SecretManager.V1 dependency to version 2.0.0
Release Notes (v5.0.0)
- Now targeting .Net Standard 2.0
- Updated Google.Cloud.SecretManager.V1 dependency to version 1.9.0
- Updated Microsoft.Extensions.Configuration.Json to version 6.0.0
Release Notes (v3.1.3)
- Fixed "value can not be Null or empty" error in KeyValue provider Load() method when prefix is Null.
Release Notes (v3.1.2)
- Added tags for JSON and KeyValue
- Fixed NULL reference error when GoogleCredential.UnderlyingCredential is not ServiceAccountCredential
- For KeyValue type secrets, made "strip prefix from key" optional (default is true for backwards compatability).
- Added Action type extension method over-rides.
Update (v3.1.1) ProjectId, when not specified, is auto-populated from:
- ServiceAccountCredential
- The GCP API ( Google.Api.Gax.Platform.Instance().ProjectId )
- Environment variables ( "GOOGLE_CLOUD_PROJECT", "GCLOUD_PROJECT" ).
Important! Only the most recently created, ENABLED version of any secret will be used.
// typical usage:
// GoogleCredential will be created as GoogleCredential.GetApplicationDefault()
// ProjectId will be derived from GoogleCredential if ServiceAccountCredential
// or environment otherwise.
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((hostContext, builder) => {
// filter rules: https://cloud.google.com/secret-manager/docs/filtering
builder.AddGcpJsonSecrets("name:servicename_appsettings_");
// prefix will filter list, then be stripped from key names.
builder.AddGcpKeyValueSecrets("servicename_keys_");
})
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
// build credential from existing configuration settings:
// ProjectId will be derived from GoogleCredential if ServiceAccountCredential
// or environment otherwise.
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((hostContext, builder) => {
var tempConfig = builder.Build();
var googleCredential = getGoogleCredentialFromConfig(tempConfig);
// filter rules: https://cloud.google.com/secret-manager/docs/filtering
builder.AddGcpJsonSecrets("name:servicename_appsettings_", googleCredential);
// prefix will filter list, then be stripped from key names.
builder.AddGcpKeyValueSecrets("servicename_keys_", googleCredential);
})
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
// use your own SecretManagerServiceClient
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((hostContext, builder) =>
{
var config = builder.Build();
SecretManagerServiceClient client = BuildServiceClient(config);
builder.AddGcpJsonSecrets(options => {
options.ListFilter = "name:servicename_appsettings_";
options.SecretMangerClient = client;
});
builder.AddGcpKeyValueSecrets(options => {
options.SecretNamePrefix = "keyname";
options.StripPrefixFromKey = false;
options.SecretMangerClient = client;
});
})
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.2
- Google.Cloud.SecretManager.V1 (>= 2.6.0)
- Microsoft.Extensions.Configuration.Json (>= 8.0.1)
-
.NETStandard 2.0
- Google.Cloud.SecretManager.V1 (>= 2.6.0)
- Microsoft.Extensions.Configuration.Json (>= 8.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
1. Updated dependency Google.Cloud.SecretManager.V1 to version 2.6.0