Files
Clarity/Clarity.Server/VaultSharpExtensions.cs
T
2026-04-25 18:06:56 -04:00

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;
}
}
}