aboutsummaryrefslogtreecommitdiff
path: root/lib/VNLib.Plugins.Extensions.Loading/src/VaultSecrets.cs
diff options
context:
space:
mode:
Diffstat (limited to 'lib/VNLib.Plugins.Extensions.Loading/src/VaultSecrets.cs')
-rw-r--r--lib/VNLib.Plugins.Extensions.Loading/src/VaultSecrets.cs7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/VNLib.Plugins.Extensions.Loading/src/VaultSecrets.cs b/lib/VNLib.Plugins.Extensions.Loading/src/VaultSecrets.cs
index 4cf1c9d..9e3c222 100644
--- a/lib/VNLib.Plugins.Extensions.Loading/src/VaultSecrets.cs
+++ b/lib/VNLib.Plugins.Extensions.Loading/src/VaultSecrets.cs
@@ -56,6 +56,7 @@ namespace VNLib.Plugins.Extensions.Loading
public const string VAULT_TOKEN_KEY = "token";
public const string VAULT_ROLE_KEY = "role";
public const string VAULT_SECRET_KEY = "secret";
+ public const string VAULT_TOKNE_ENV_NAME = "VNLIB_PLUGINS_VAULT_TOKEN";
public const string VAULT_URL_KEY = "url";
@@ -306,6 +307,12 @@ namespace VNLib.Plugins.Extensions.Loading
{
authMethod = new AppRoleAuthMethodInfo(roleEl.GetString(), secretEl.GetString());
}
+ //Try to get the token as an environment variable
+ else if(Environment.GetEnvironmentVariable(VAULT_TOKNE_ENV_NAME) != null)
+ {
+ string tokenValue = Environment.GetEnvironmentVariable(VAULT_TOKNE_ENV_NAME)!;
+ authMethod = new TokenAuthMethodInfo(tokenValue);
+ }
else
{
throw new KeyNotFoundException($"Failed to load the vault authentication method from {VAULT_OBJECT_NAME}");