Skip to content

Commit 2091346

Browse files
committed
Wait to update vault secrets until AFTER migrations are run
1 parent 62c013a commit 2091346

File tree

3 files changed

+44
-34
lines changed

3 files changed

+44
-34
lines changed

dist/index.js

Lines changed: 21 additions & 16 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/index.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/coolify.ts

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -323,18 +323,20 @@ export default class Coolify {
323323
existingEdgeFunctionSecret.length > 0
324324
? existingEdgeFunctionSecret[0].id
325325
: null
326+
if (!edgeFunctionSecretUUID) {
327+
throw new Error('Edge function secret not found in vault')
328+
}
326329
const existingSupabaseProjectURLSecret =
327330
await sql`SELECT id FROM vault.decrypted_secrets where name = 'supabase_project_url'`
328331
const supabaseProjectURLSecretUUID =
329332
existingSupabaseProjectURLSecret.length > 0
330333
? existingSupabaseProjectURLSecret[0].id
331334
: null
332-
if (edgeFunctionSecretUUID) {
333-
await sql`SELECT vault.update_secret(${edgeFunctionSecretUUID}, ${edgeFunctionSecret}, 'edge-function-secret', 'Generated secret for edge functions invoked by postgres')`
334-
}
335-
if (supabaseProjectURLSecretUUID) {
336-
await sql`SELECT vault.update_secret(${supabaseProjectURLSecretUUID}, ${supabase_url}, 'supabase_project_url', 'Generated supabase project url')`
335+
if (!supabaseProjectURLSecretUUID) {
336+
throw new Error('Supabase project url secret not found in vault')
337337
}
338+
await sql`SELECT vault.update_secret(${edgeFunctionSecretUUID}, ${edgeFunctionSecret}, 'edge-function-secret', 'Generated secret for edge functions invoked by postgres')`
339+
await sql`SELECT vault.update_secret(${supabaseProjectURLSecretUUID}, ${supabase_url}, 'supabase_project_url', 'Generated supabase project url')`
338340
await sql.end()
339341
await tunnel.disconnect()
340342
console.log('Secrets updated')
@@ -509,7 +511,6 @@ export default class Coolify {
509511
'SERVICE_SUPABASE_FUNCTIONS_DEPLOYMENT_KEY'
510512
)
511513
const edgeFunctionSecret = getServiceEnvOrThrow('EDGE_FUNCTION_SECRET')
512-
513514
console.log(`SERVICE_SUPABASE_URL: ${supabase_url}`)
514515
await this.createOrUpdateEnv({
515516
serviceUUID: backendServiceUUID,
@@ -526,15 +527,6 @@ export default class Coolify {
526527
uuid: backendServiceUUID
527528
}
528529
})
529-
//Update vault secrets
530-
await this.updateSecrets({
531-
serviceUUID: backendServiceUUID,
532-
deployToken: deploymentKey,
533-
postgres_db,
534-
postgres_password,
535-
edgeFunctionSecret,
536-
supabase_url
537-
})
538530
}
539531
return {
540532
backendServiceUUID,
@@ -546,7 +538,8 @@ export default class Coolify {
546538
supabase_anon_key,
547539
supabase_service_role_key,
548540
deploymentKey,
549-
isNewSupabaseService
541+
isNewSupabaseService,
542+
edgeFunctionSecret
550543
}
551544
}
552545
async cleanup({
@@ -615,7 +608,8 @@ export default class Coolify {
615608
supabase_anon_key,
616609
supabase_service_role_key,
617610
deploymentKey,
618-
isNewSupabaseService
611+
isNewSupabaseService,
612+
edgeFunctionSecret
619613
} = await this.getSupabaseServiceUUIDOrCreateNewOne({
620614
supabaseComponentName,
621615
ephemeral
@@ -652,6 +646,17 @@ export default class Coolify {
652646
resetDb: isNewSupabaseService || reset_supabase_db,
653647
postgresPassword: postgres_password
654648
})
649+
if (isNewSupabaseService) {
650+
//Update vault secrets
651+
await this.updateSecrets({
652+
serviceUUID: backendServiceUUID,
653+
deployToken: deploymentKey,
654+
postgres_db,
655+
postgres_password,
656+
edgeFunctionSecret,
657+
supabase_url
658+
})
659+
}
655660

656661
const existingFrontendApp = existingApplications.data?.find(
657662
(app) => app.name === frontendAppName

0 commit comments

Comments
 (0)