feat(coderd/database/dbpurge): make API keys retention configurable (#21037)

Replace hardcoded 7-day retention for expired API keys with configurable
retention from deployment settings. Skips deletion entirely when effective
retention is 0.

Depends on #21021
Updates #20743
This commit is contained in:
Mathias Fredriksson
2025-12-02 15:41:38 +00:00
committed by GitHub
parent 929db243cb
commit 9ec90cf2e7
4 changed files with 167 additions and 41 deletions
+8 -13
View File
@@ -85,25 +85,20 @@ DELETE FROM
WHERE
user_id = $1;
-- name: DeleteExpiredAPIKeys :one
-- name: DeleteExpiredAPIKeys :execrows
WITH expired_keys AS (
SELECT id
FROM api_keys
-- expired keys only
WHERE expires_at < @before::timestamptz
LIMIT @limit_count
),
deleted_rows AS (
DELETE FROM
api_keys
USING
expired_keys
WHERE
api_keys.id = expired_keys.id
RETURNING api_keys.id
)
SELECT COUNT(deleted_rows.id) AS deleted_count FROM deleted_rows;
;
)
DELETE FROM
api_keys
USING
expired_keys
WHERE
api_keys.id = expired_keys.id;
-- name: ExpirePrebuildsAPIKeys :exec
-- Firstly, collect api_keys owned by the prebuilds user that correlate