Skip to content

Commit e320d5b

Browse files
committed
feat: purge old provisioner daemons
1 parent 5b2f436 commit e320d5b

File tree

7 files changed

+59
-1
lines changed

7 files changed

+59
-1
lines changed

coderd/database/dbauthz/dbauthz.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -777,6 +777,13 @@ func (q *querier) DeleteLicense(ctx context.Context, id int32) (int32, error) {
777777
return id, nil
778778
}
779779

780+
func (q *querier) DeleteOldProvisionerDaemons(ctx context.Context) error {
781+
if err := q.authorizeContext(ctx, rbac.ActionDelete, rbac.ResourceSystem); err != nil {
782+
return err
783+
}
784+
return q.db.DeleteOldProvisionerDaemons(ctx)
785+
}
786+
780787
func (q *querier) DeleteOldWorkspaceAgentLogs(ctx context.Context) error {
781788
if err := q.authorizeContext(ctx, rbac.ActionDelete, rbac.ResourceSystem); err != nil {
782789
return err

coderd/database/dbmem/dbmem.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1104,8 +1104,13 @@ func (q *FakeQuerier) DeleteLicense(_ context.Context, id int32) (int32, error)
11041104
return 0, sql.ErrNoRows
11051105
}
11061106

1107+
func (q *FakeQuerier) DeleteOldProvisionerDaemons(ctx context.Context) error {
1108+
// no-op
1109+
return nil
1110+
}
1111+
11071112
func (*FakeQuerier) DeleteOldWorkspaceAgentLogs(_ context.Context) error {
1108-
// noop
1113+
// no-op
11091114
return nil
11101115
}
11111116

coderd/database/dbmetrics/dbmetrics.go

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

coderd/database/dbmock/dbmock.go

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

coderd/database/querier.go

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

coderd/database/queries.sql.go

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

coderd/database/queries/provisionerdaemons.sql

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,10 @@ INSERT INTO
1515
)
1616
VALUES
1717
($1, $2, $3, $4, $5) RETURNING *;
18+
19+
-- name: DeleteOldProvisionerDaemons :exec
20+
-- Delete provisioner daemons that have been created at least a week ago
21+
-- and have not connected to coderd since a week.
22+
-- A provisioner daemon with "zeroed" updated_at column indicates possible
23+
-- connectivity issues (no provisioner daemon activity since registration).
24+
DELETE FROM provisioner_daemons WHERE created_at < (NOW() - INTERVAL '7 days') AND updated_at < (NOW() - INTERVAL '7 days');

0 commit comments

Comments
 (0)