27 lines
899 B
C#
27 lines
899 B
C#
using Clarity.Server.Data;
|
|
using System.Runtime.Serialization;
|
|
using VaultSharp;
|
|
using VaultSharp.Core;
|
|
using VaultSharp.V1.AuthMethods;
|
|
using VaultSharp.V1.AuthMethods.Token;
|
|
|
|
namespace Clarity.Server
|
|
{
|
|
public static class VaultSharpExtensions
|
|
{
|
|
public static IServiceCollection AddClarityVaultCryptography(this IServiceCollection services, IConfiguration config)
|
|
{
|
|
var vaultAddress = config["Vault:Address"] ?? "http://localhost:8200";
|
|
var vaultToken = config["Vault:Token"] ?? "root";
|
|
|
|
IAuthMethodInfo authMethod = new TokenAuthMethodInfo(vaultToken);
|
|
var vaultClientSettings = new VaultClientSettings(vaultAddress, authMethod);
|
|
IVaultClient vaultClient = new VaultClient(vaultClientSettings);
|
|
services.AddSingleton<IVaultClient>(vaultClient);
|
|
|
|
return services;
|
|
}
|
|
|
|
}
|
|
}
|