Skip to content

Commit eb9c4d1

Browse files
committed
tmp
1 parent a9f1d31 commit eb9c4d1

File tree

1 file changed

+36
-37
lines changed
  • ansible/files/admin_api_scripts/pg_upgrade_scripts

1 file changed

+36
-37
lines changed

ansible/files/admin_api_scripts/pg_upgrade_scripts/complete.sh

Lines changed: 36 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -150,45 +150,44 @@ EOF
150150

151151
run_sql -c "$PATCH_PGMQ_QUERY"
152152
run_sql -c "update pg_extension set extowner = 'postgres'::regrole where extname = 'pgmq';"
153+
fi
153154

154-
# Patch to handle upgrading to pgsodium-less Vault
155-
REENCRYPT_VAULT_SECRETS_QUERY=$(cat <<EOF
156-
DO \$\$
157-
BEGIN
158-
IF EXISTS (SELECT FROM pg_available_extension_versions WHERE name = 'supabase_vault' AND version = '0.3.0')
159-
AND EXISTS (SELECT FROM pg_extension WHERE extname = 'supabase_vault')
160-
THEN
161-
IF (SELECT extversion FROM pg_extension WHERE extname = 'supabase_vault') != '0.2.8' THEN
162-
GRANT USAGE ON SCHEMA vault TO postgres WITH GRANT OPTION;
163-
GRANT SELECT, DELETE ON vault.secrets, vault.decrypted_secrets TO postgres WITH GRANT OPTION;
164-
GRANT EXECUTE ON FUNCTION vault.create_secret, vault.update_secret, vault._crypto_aead_det_decrypt TO postgres WITH GRANT OPTION;
165-
END IF;
166-
-- Do an explicit IF EXISTS check to avoid referencing pgsodium objects if the project already migrated away from using pgsodium.
167-
IF EXISTS (SELECT FROM vault.secrets WHERE key_id IS NOT NULL) THEN
168-
UPDATE vault.secrets s
169-
SET
170-
secret = encode(
171-
vault._crypto_aead_det_encrypt(
172-
message := pgsodium.crypto_aead_det_decrypt(decode(s.secret, 'base64'), convert_to(s.id || s.description || s.created_at || s.updated_at, 'utf8'), s.key_id, s.nonce),
173-
additional := convert_to(s.id::text, 'utf8'),
174-
key_id := 0,
175-
context := 'pgsodium'::bytea,
176-
nonce := s.nonce
177-
),
178-
'base64'
179-
),
180-
key_id = NULL
181-
WHERE
182-
key_id IS NOT NULL;
183-
END IF;
184-
END IF;
185-
RAISE EXCEPTION 'aaaaaaa';
186-
END
187-
\$\$;
155+
# Patch to handle upgrading to pgsodium-less Vault
156+
REENCRYPT_VAULT_SECRETS_QUERY=$(cat <<EOF
157+
DO \$\$
158+
BEGIN
159+
IF EXISTS (SELECT FROM pg_available_extension_versions WHERE name = 'supabase_vault' AND version = '0.3.0')
160+
AND EXISTS (SELECT FROM pg_extension WHERE extname = 'supabase_vault')
161+
THEN
162+
IF (SELECT extversion FROM pg_extension WHERE extname = 'supabase_vault') != '0.2.8' THEN
163+
GRANT USAGE ON SCHEMA vault TO postgres WITH GRANT OPTION;
164+
GRANT SELECT, DELETE ON vault.secrets, vault.decrypted_secrets TO postgres WITH GRANT OPTION;
165+
GRANT EXECUTE ON FUNCTION vault.create_secret, vault.update_secret, vault._crypto_aead_det_decrypt TO postgres WITH GRANT OPTION;
166+
END IF;
167+
-- Do an explicit IF EXISTS check to avoid referencing pgsodium objects if the project already migrated away from using pgsodium.
168+
IF EXISTS (SELECT FROM vault.secrets WHERE key_id IS NOT NULL) THEN
169+
UPDATE vault.secrets s
170+
SET
171+
secret = encode(
172+
vault._crypto_aead_det_encrypt(
173+
message := pgsodium.crypto_aead_det_decrypt(decode(s.secret, 'base64'), convert_to(s.id || s.description || s.created_at || s.updated_at, 'utf8'), s.key_id, s.nonce),
174+
additional := convert_to(s.id::text, 'utf8'),
175+
key_id := 0,
176+
context := 'pgsodium'::bytea,
177+
nonce := s.nonce
178+
),
179+
'base64'
180+
),
181+
key_id = NULL
182+
WHERE
183+
key_id IS NOT NULL;
184+
END IF;
185+
END IF;
186+
END
187+
\$\$;
188188
EOF
189-
)
190-
run_sql -c "$REENCRYPT_VAULT_SECRETS_QUERY"
191-
fi
189+
)
190+
run_sql -c "$REENCRYPT_VAULT_SECRETS_QUERY"
192191

193192
run_sql -c "grant pg_read_all_data, pg_signal_backend to postgres"
194193
}

0 commit comments

Comments
 (0)