Skip to content

Commit b8f6556

Browse files
committed
link dismissed
1 parent 3c4f53a commit b8f6556

File tree

3 files changed

+26
-4
lines changed

3 files changed

+26
-4
lines changed

coderd/coderd.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import (
2525
"github.com/prometheus/client_golang/prometheus"
2626
httpSwagger "github.com/swaggo/http-swagger/v2"
2727
"go.opentelemetry.io/otel/trace"
28+
"golang.org/x/exp/slices"
2829
"golang.org/x/xerrors"
2930
"google.golang.org/api/idtoken"
3031
"storj.io/drpc/drpcmux"
@@ -407,24 +408,30 @@ func New(options *Options) *API {
407408

408409
if options.HealthcheckFunc == nil {
409410
options.HealthcheckFunc = func(ctx context.Context, apiKey string) *healthcheck.Report {
411+
dismissedHealthchecks := loadDismissedHealthcheck(ctx, options.Database, options.Logger)
410412
return healthcheck.Run(ctx, &healthcheck.ReportOptions{
411413
Database: healthcheck.DatabaseReportOptions{
412414
DB: options.Database,
413415
Threshold: options.DeploymentValues.Healthcheck.ThresholdDatabase.Value(),
416+
Dismissed: slices.Contains(dismissedHealthchecks, healthcheck.SectionDatabase),
414417
},
415418
Websocket: healthcheck.WebsocketReportOptions{
416419
AccessURL: options.AccessURL,
417420
APIKey: apiKey,
421+
Dismissed: slices.Contains(dismissedHealthchecks, healthcheck.SectionWebsocket),
418422
},
419423
AccessURL: healthcheck.AccessURLReportOptions{
420424
AccessURL: options.AccessURL,
425+
Dismissed: slices.Contains(dismissedHealthchecks, healthcheck.SectionAccessURL),
421426
},
422427
DerpHealth: derphealth.ReportOptions{
423-
DERPMap: api.DERPMap(),
428+
DERPMap: api.DERPMap(),
429+
Dismissed: slices.Contains(dismissedHealthchecks, healthcheck.SectionDERP),
424430
},
425431
WorkspaceProxy: healthcheck.WorkspaceProxyReportOptions{
426432
CurrentVersion: buildinfo.Version(),
427433
WorkspaceProxiesFetchUpdater: *(options.WorkspaceProxiesFetchUpdater).Load(),
434+
Dismissed: slices.Contains(dismissedHealthchecks, healthcheck.SectionWorkspaceProxy),
428435
},
429436
})
430437
}

coderd/debug.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ import (
1111
"golang.org/x/exp/slices"
1212
"golang.org/x/xerrors"
1313

14+
"cdr.dev/slog"
15+
1416
"github.com/google/uuid"
1517

1618
"github.com/coder/coder/v2/coderd/audit"
@@ -253,3 +255,19 @@ func validateHealthSettings(settings codersdk.HealthSettings) error {
253255
// @Router /debug/ws [get]
254256
// @x-apidocgen {"skip": true}
255257
func _debugws(http.ResponseWriter, *http.Request) {} //nolint:unused
258+
259+
func loadDismissedHealthcheck(ctx context.Context, db database.Store, logger slog.Logger) []string {
260+
dismissedHealthchecks := []string{}
261+
settingsJSON, err := db.GetHealthSettings(ctx)
262+
if err == nil {
263+
var settings codersdk.HealthSettings
264+
err = json.Unmarshal([]byte(settingsJSON), &settings)
265+
if len(settings.DismissedHealthchecks) > 0 {
266+
dismissedHealthchecks = settings.DismissedHealthchecks
267+
}
268+
}
269+
if err != nil {
270+
logger.Error(ctx, "unable to fetch health settings: %w", err)
271+
}
272+
return dismissedHealthchecks
273+
}

coderd/healthcheck/healthcheck.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import (
77
"time"
88

99
"github.com/coder/coder/v2/buildinfo"
10-
"github.com/coder/coder/v2/coderd/database"
1110
"github.com/coder/coder/v2/coderd/healthcheck/derphealth"
1211
"github.com/coder/coder/v2/coderd/healthcheck/health"
1312
"github.com/coder/coder/v2/coderd/util/ptr"
@@ -61,8 +60,6 @@ type ReportOptions struct {
6160
WorkspaceProxy WorkspaceProxyReportOptions
6261

6362
Checker Checker
64-
65-
DB database.Store
6663
}
6764

6865
type defaultChecker struct{}

0 commit comments

Comments
 (0)