diff --git a/cli/server.go b/cli/server.go index aa0a010eb0aa4..d678eb49c83c0 100644 --- a/cli/server.go +++ b/cli/server.go @@ -61,7 +61,6 @@ import ( "github.com/coder/serpent" "github.com/coder/wgtunnel/tunnelsdk" - "github.com/coder/coder/v2/coderd/cryptokeys" "github.com/coder/coder/v2/coderd/entitlements" "github.com/coder/coder/v2/coderd/notifications/reports" "github.com/coder/coder/v2/coderd/runtimeconfig" @@ -754,25 +753,6 @@ func (r *RootCmd) Server(newAPI func(context.Context, *coderd.Options) (*coderd. return xerrors.Errorf("set deployment id: %w", err) } - fetcher := &cryptokeys.DBFetcher{ - DB: options.Database, - } - - resumeKeycache, err := cryptokeys.NewSigningCache(ctx, - logger, - fetcher, - codersdk.CryptoKeyFeatureTailnetResume, - ) - if err != nil { - logger.Critical(ctx, "failed to properly instantiate tailnet resume signing cache", slog.Error(err)) - } - - options.CoordinatorResumeTokenProvider = tailnet.NewResumeTokenKeyProvider( - resumeKeycache, - quartz.NewReal(), - tailnet.DefaultResumeTokenExpiry, - ) - options.RuntimeConfig = runtimeconfig.NewManager() // This should be output before the logs start streaming. diff --git a/coderd/coderd.go b/coderd/coderd.go index 75e588e89624b..bc4afa44c88df 100644 --- a/coderd/coderd.go +++ b/coderd/coderd.go @@ -467,7 +467,7 @@ func New(options *Options) *API { codersdk.CryptoKeyFeatureOIDCConvert, ) if err != nil { - options.Logger.Critical(ctx, "failed to properly instantiate oidc convert signing cache", slog.Error(err)) + options.Logger.Fatal(ctx, "failed to properly instantiate oidc convert signing cache", slog.Error(err)) } } @@ -478,7 +478,7 @@ func New(options *Options) *API { codersdk.CryptoKeyFeatureWorkspaceAppsToken, ) if err != nil { - options.Logger.Critical(ctx, "failed to properly instantiate app signing key cache", slog.Error(err)) + options.Logger.Fatal(ctx, "failed to properly instantiate app signing key cache", slog.Error(err)) } } @@ -489,10 +489,30 @@ func New(options *Options) *API { codersdk.CryptoKeyFeatureWorkspaceAppsAPIKey, ) if err != nil { - options.Logger.Critical(ctx, "failed to properly instantiate app encryption key cache", slog.Error(err)) + options.Logger.Fatal(ctx, "failed to properly instantiate app encryption key cache", slog.Error(err)) } } + if options.CoordinatorResumeTokenProvider == nil { + fetcher := &cryptokeys.DBFetcher{ + DB: options.Database, + } + + resumeKeycache, err := cryptokeys.NewSigningCache(ctx, + options.Logger, + fetcher, + codersdk.CryptoKeyFeatureTailnetResume, + ) + if err != nil { + options.Logger.Fatal(ctx, "failed to properly instantiate tailnet resume signing cache", slog.Error(err)) + } + options.CoordinatorResumeTokenProvider = tailnet.NewResumeTokenKeyProvider( + resumeKeycache, + options.Clock, + tailnet.DefaultResumeTokenExpiry, + ) + } + updatesProvider := NewUpdatesProvider(options.Logger.Named("workspace_updates"), options.Pubsub, options.Database, options.Authorizer) // Start a background process that rotates keys. We intentionally start this after the caches
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: