Devies.Extensions.HashiCorpVault
1.0.0
An IConfigurationBuilder for HashiCorp vault
Install-Package Devies.Extensions.HashiCorpVault -Version 1.0.0
dotnet add package Devies.Extensions.HashiCorpVault --version 1.0.0
<PackageReference Include="Devies.Extensions.HashiCorpVault" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Devies.Extensions.HashiCorpVault --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Devies.Extensions.HashiCorpVault, 1.0.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Devies.Extensions.HashiCorpVault as a Cake Addin
#addin nuget:?package=Devies.Extensions.HashiCorpVault&version=1.0.0
// Install Devies.Extensions.HashiCorpVault as a Cake Tool
#tool nuget:?package=Devies.Extensions.HashiCorpVault&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Devies.Extensions.HashiCorpVault
Requriments
- An eisting vault
- A client_token or any auth path in the vault
- Any IBuilderConfiguration with values set to vaild vault values
Recommendations
- If you host in K8S, set up the kubernetes auth in the vault, read more; https://banzaicloud.com/blog/inject-secrets-into-pods-vault-revisited/
How to
- Install the nuget package
- Login and get a token with
VaultUtils.LoginWithUserpass
orVaultUtils.LoginWithK8SServiceAccount
, or your own way. - Call
AddVaultEnvironments
on yourIConfigurationBuilder
with your vault-url and token - AddVaultEnvironments HAS TO BE AFTER all other settings that may involve vault variables
Example
appsettings.Development.json
{
"ServiceOptions": {
"Url": "https://service.org",
"Username": "vault:secret/data/service/dev#username",
"Password": "vault:secret/data/service/dev#userpass"
}
}
Program.cs
private Func<IConfigurationBuilder, string, IConfigurationRoot> ConfigurationBuilder =
(builder, vaultToken) =>
builder.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.Development.json")
.AddVaultEnvironments("https://vault.myorg.org", vaultToken)
.Build();
Sources
Devies.Extensions.HashiCorpVault
Requriments
- An eisting vault
- A client_token or any auth path in the vault
- Any IBuilderConfiguration with values set to vaild vault values
Recommendations
- If you host in K8S, set up the kubernetes auth in the vault, read more; https://banzaicloud.com/blog/inject-secrets-into-pods-vault-revisited/
How to
- Install the nuget package
- Login and get a token with
VaultUtils.LoginWithUserpass
orVaultUtils.LoginWithK8SServiceAccount
, or your own way. - Call
AddVaultEnvironments
on yourIConfigurationBuilder
with your vault-url and token - AddVaultEnvironments HAS TO BE AFTER all other settings that may involve vault variables
Example
appsettings.Development.json
{
"ServiceOptions": {
"Url": "https://service.org",
"Username": "vault:secret/data/service/dev#username",
"Password": "vault:secret/data/service/dev#userpass"
}
}
Program.cs
private Func<IConfigurationBuilder, string, IConfigurationRoot> ConfigurationBuilder =
(builder, vaultToken) =>
builder.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.Development.json")
.AddVaultEnvironments("https://vault.myorg.org", vaultToken)
.Build();
Sources
Release Notes
First version
Dependencies
-
.NETStandard 2.0
- Microsoft.Extensions.Configuration (>= 2.0.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 2.0.0)
- Microsoft.Extensions.DependencyInjection (>= 2.0.0)
- Newtonsoft.Json (>= 9.0.1)
- RestSharp (>= 106.0.0)
Used By
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version History
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 217 | 11/25/2019 |