feat: integrate vault provider management and environment variable resolution

- Added support for managing various vault providers (HashiCorp, AWS, Azure, Doppler, Infisical) in the dashboard.
- Implemented environment variable resolution using vault references, allowing seamless integration of secrets into application environments.
- Enhanced UI components to display and manage vault providers effectively.
- Introduced tests for vault reference resolution and environment variable preparation.
- Updated related components to utilize new vault management features.
This commit is contained in:
Mauricio Siu
2026-08-10 11:14:55 -06:00
parent 771d76a57c
commit b8822a1fde
44 changed files with 3577 additions and 20 deletions
@@ -48,6 +48,7 @@ export const statements = {
logs: ["read"],
monitoring: ["read"],
auditLog: ["read"],
vaultProvider: ["read", "create", "update", "delete"],
} as const;
/**
@@ -74,6 +75,7 @@ export const enterpriseOnlyResources = new Set<string>([
"logs",
"monitoring",
"auditLog",
"vaultProvider",
]);
export const ac = createAccessControl(statements);
@@ -113,6 +115,7 @@ export const ownerRole = ac.newRole({
logs: ["read"],
monitoring: ["read"],
auditLog: ["read"],
vaultProvider: ["read", "create", "update", "delete"],
});
/**
@@ -150,6 +153,7 @@ export const adminRole = ac.newRole({
logs: ["read"],
monitoring: ["read"],
auditLog: ["read"],
vaultProvider: ["read", "create", "update", "delete"],
});
/**
@@ -192,4 +196,6 @@ export const memberRole = ac.newRole({
notification: [],
tag: ["read"],
auditLog: [],
// Members need provider/secret names for env editor autocomplete; values are never exposed
vaultProvider: ["read"],
});