Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 14 additions & 9 deletions store-langfuse-secrets.sh
Original file line number Diff line number Diff line change
Expand Up @@ -92,13 +92,16 @@ echo " Host: $LANGFUSE_HOST"

# Update Vault policy to include Langfuse secrets access
echo ""
echo "Updating llm-orchestration policy to include Langfuse secrets..."
POLICY='path "secret/metadata/llm/*" { capabilities = ["list", "delete"] }
path "secret/data/llm/*" { capabilities = ["create", "read", "update", "delete"] }
path "secret/metadata/embeddings/*" { capabilities = ["list", "delete"] }
path "secret/data/embeddings/*" { capabilities = ["create", "read", "update", "delete"] }
path "secret/metadata/langfuse/*" { capabilities = ["list", "delete"] }
path "secret/data/langfuse/*" { capabilities = ["create", "read", "update", "delete"] }
echo "Updating llm-orchestration-policy to include Langfuse secrets..."
# Preserve the production policy paths (see vault-init.sh) and add Langfuse read.
# This is a full overwrite of the policy, so the existing grants must be repeated.
POLICY='path "secret/data/llm/connections/*" { capabilities = ["read", "list"] }
path "secret/metadata/llm/connections/*" { capabilities = ["read", "list"] }
path "secret/data/embeddings/connections/*" { capabilities = ["read", "list"] }
path "secret/metadata/embeddings/connections/*" { capabilities = ["read", "list"] }
path "secret/data/encryption/*" { capabilities = ["deny"] }
path "secret/data/langfuse/*" { capabilities = ["read"] }
path "secret/metadata/langfuse/*" { capabilities = ["read", "list"] }
path "auth/token/lookup-self" { capabilities = ["read"] }'

# Create JSON without jq (using printf for proper escaping)
Expand All @@ -108,10 +111,12 @@ POLICY_JSON='{"policy":"'"$POLICY_ESCAPED"'"}'
if wget -q -O- --post-data="$POLICY_JSON" \
--header="X-Vault-Token: $ROOT_TOKEN" \
--header='Content-Type: application/json' \
"$VAULT_ADDR/v1/sys/policies/acl/llm-orchestration" >/dev/null 2>&1; then
"$VAULT_ADDR/v1/sys/policies/acl/llm-orchestration-policy" >/dev/null 2>&1; then
echo "Policy updated successfully"
else
echo "Warning: Policy update failed (may already be updated)"
echo "Error: Failed to update llm-orchestration-policy"
echo " Langfuse secrets would be stored but the agent would be denied access."
exit 1
fi

# Store Langfuse secrets in Vault
Expand Down
2 changes: 2 additions & 0 deletions vault-init.sh
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,8 @@ path "secret/metadata/llm/connections/*" { capabilities = ["read", "list"] }
path "secret/data/embeddings/connections/*" { capabilities = ["read", "list"] }
path "secret/metadata/embeddings/connections/*" { capabilities = ["read", "list"] }
path "secret/data/encryption/*" { capabilities = ["deny"] }
path "secret/data/langfuse/*" { capabilities = ["read"] }
path "secret/metadata/langfuse/*" { capabilities = ["read", "list"] }
path "auth/token/lookup-self" { capabilities = ["read"] }'

LLM_POLICY_JSON=$(echo "$LLM_POLICY" | jq -Rs '{"policy":.}')
Expand Down
Loading