feat(secrets): resolve integrations across deployments and databases

Add secret manager integration links and API support, resolve referenced credentials in database startup commands, and improve environment variable handling and filtering.
This commit is contained in:
Andras Bacsai
2026-08-23 21:33:00 +02:00
parent 4cd75e05b5
commit 91d4467322
37 changed files with 594 additions and 109 deletions
@@ -44,7 +44,6 @@
this.vaultKeysLoading = false;
this.handleInput();
}).catch(() => {
this.availableVars['vault'] = [];
this.vaultKeysLoading = false;
});
},
@@ -14,6 +14,7 @@
<template x-if="!isMultiline">
<div wire:key="env-value-input">
<x-forms.env-var-input placeholder="production" id="value" label="Value" required
canGate="manageEnvironment" :canResource="$resource"
:availableVars="$shared ? [] : $this->availableSharedVariables"
:hasVaultSource="$this->hasSecretManagerSource()"
:projectUuid="data_get($parameters, 'project_uuid')"
@@ -158,6 +158,7 @@
</div>
@else
<x-forms.env-var-input id="value" type="password"
canGate="manageEnvironment" :canResource="$this->resource"
:required="$is_redis_credential" :disabled="!$canEditValue"
:availableVars="$isSharedVariable ? [] : $this->availableSharedVariables"
:hasVaultSource="$this->hasSecretManagerSource()"
@@ -89,8 +89,8 @@
<span class="font-mono text-[12px] text-black dark:text-fg">{{ $key }}</span>
<span class="font-mono text-[11px] text-neutral-400 dark:text-fg-dim">{{ '{{vault.'.$key.'}'.'}' }}</span>
</div>
<x-forms.button wire:click="addReference('{{ $key }}')"
wire:target="addReference('{{ $key }}')">
<x-forms.button wire:click="addReference({{ \Illuminate\Support\Js::from($key) }})"
wire:target="addReference({{ \Illuminate\Support\Js::from($key) }})">
Add as variable
</x-forms.button>
</div>