SDK para acceder a credenciales almacenadas en Arca Vault de forma segura y rápida. Proporciona comunicación via Named Pipes con latencia menor a 1ms.
$ dotnet add package Arca.SDKSDK para acceder a credenciales almacenadas en Arca Vault de forma segura mediante Named Pipes.
dotnet add package Arca.SDK
using Arca.SDK;
using Arca.SDK.Clients;
var apiKey = Environment.GetEnvironmentVariable("ARCA_API_KEY");
using var arca = new ArcaSimpleClient(apiKey: apiKey);
if (await arca.IsAvailableAsync())
{
var connectionString = await arca.GetSecretValueAsync("ConnectionStrings:Database");
}
| Método | Descripción |
|---|---|
IsAvailableAsync() | Verifica conexión y autenticación |
GetSecretValueAsync(key) | Obtiene el valor de un secreto |
GetSecretAsync(key) | Obtiene secreto con metadata |
GetSecretsAsync(keys) | Obtiene múltiples secretos |
ListKeysAsync(filter?) | Lista secretos disponibles |
KeyExistsAsync(key) | Verifica si existe un secreto |
try
{
var secret = await arca.GetSecretValueAsync("MiClave");
}
catch (ArcaAccessDeniedException ex)
{
// Sin permiso para este secreto
}
catch (ArcaSecretNotFoundException ex)
{
// El secreto no existe
}
catch (ArcaException ex)
{
// Error de conexión u otro
}
var result = await arca.GetSecretAsync("MiClave");
if (result.IsAccessDenied)
Console.WriteLine("Acceso denegado");
else if (result.Success)
Console.WriteLine($"Valor: {result.Value}");
else
Console.WriteLine($"Error: {result.Error}");
// Program.cs
builder.Services.AddArcaClient(
apiKey: Environment.GetEnvironmentVariable("ARCA_API_KEY")
);
// En servicios
public class MiServicio(IArcaClient arca)
{
public async Task<string> GetConnectionAsync()
=> await arca.GetSecretValueAsync("ConnectionStrings:Database");
}builder.Services.AddArcaClient(options =>
{
options.ApiKey = Environment.GetEnvironmentVariable("ARCA_API_KEY");
options.Timeout = TimeSpan.FromSeconds(10);
});# Variable de entorno (recomendado)
[Environment]::SetEnvironmentVariable("ARCA_API_KEY", "arca_xxx...", "User")Arca.SDK is licensed under the MIT License and may be freely used, modified, and redistributed.
The main Arca.NET application is Source-Available. See LICENSE-ARCA-NET.txt for details.