feat: allow users to pause prebuilt workspace reconciliation (#18700)

This PR provides two commands:
* `coder prebuilds pause`
* `coder prebuilds resume`

These allow the suspension of all prebuilds activity, intended for use
if prebuilds are misbehaving.
This commit is contained in:
Sas Swart
2025-07-02 15:05:42 +00:00
committed by GitHub
parent 4072d228c5
commit 01163ea57b
42 changed files with 1336 additions and 4 deletions
+14
View File
@@ -1103,6 +1103,13 @@ func (m queryMetricsStore) GetPrebuildMetrics(ctx context.Context) ([]database.G
return r0, r1
}
func (m queryMetricsStore) GetPrebuildsSettings(ctx context.Context) (string, error) {
start := time.Now()
r0, r1 := m.s.GetPrebuildsSettings(ctx)
m.queryLatencies.WithLabelValues("GetPrebuildsSettings").Observe(time.Since(start).Seconds())
return r0, r1
}
func (m queryMetricsStore) GetPresetByID(ctx context.Context, presetID uuid.UUID) (database.GetPresetByIDRow, error) {
start := time.Now()
r0, r1 := m.s.GetPresetByID(ctx, presetID)
@@ -3175,6 +3182,13 @@ func (m queryMetricsStore) UpsertOAuthSigningKey(ctx context.Context, value stri
return r0
}
func (m queryMetricsStore) UpsertPrebuildsSettings(ctx context.Context, value string) error {
start := time.Now()
r0 := m.s.UpsertPrebuildsSettings(ctx, value)
m.queryLatencies.WithLabelValues("UpsertPrebuildsSettings").Observe(time.Since(start).Seconds())
return r0
}
func (m queryMetricsStore) UpsertProvisionerDaemon(ctx context.Context, arg database.UpsertProvisionerDaemonParams) (database.ProvisionerDaemon, error) {
start := time.Now()
r0, r1 := m.s.UpsertProvisionerDaemon(ctx, arg)