diff --git a/coderd/database/dbpurge/dbpurge.go b/coderd/database/dbpurge/dbpurge.go index e7d3876669e52..abafcb4559f25 100644 --- a/coderd/database/dbpurge/dbpurge.go +++ b/coderd/database/dbpurge/dbpurge.go @@ -10,6 +10,11 @@ import ( "cdr.dev/slog" "github.com/coder/coder/coderd/database" + "github.com/coder/coder/coderd/database/dbauthz" +) + +const ( + delay = 24 * time.Hour ) // New creates a new periodically purging database instance. @@ -19,9 +24,12 @@ import ( func New(ctx context.Context, logger slog.Logger, db database.Store) io.Closer { closed := make(chan struct{}) ctx, cancelFunc := context.WithCancel(ctx) + //nolint:gocritic // The system purges old db records without user input. + ctx = dbauthz.AsSystemRestricted(ctx) go func() { defer close(closed) - ticker := time.NewTicker(24 * time.Hour) + + ticker := time.NewTicker(delay) defer ticker.Stop() for { select { @@ -44,6 +52,8 @@ func New(ctx context.Context, logger slog.Logger, db database.Store) io.Closer { } logger.Error(ctx, "failed to purge old database entries", slog.Error(err)) } + + ticker.Reset(delay) } }() return &instance{
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: