chore: move dormancy to enterprise package (#9468)

This commit is contained in:
Marcin Tojek
2023-08-31 17:59:53 +02:00
committed by GitHub
parent 7c4ce62a58
commit 11d4b6f758
5 changed files with 10 additions and 5 deletions

View File

@ -70,7 +70,6 @@ import (
"github.com/coder/coder/v2/coderd/database/migrations" "github.com/coder/coder/v2/coderd/database/migrations"
"github.com/coder/coder/v2/coderd/database/pubsub" "github.com/coder/coder/v2/coderd/database/pubsub"
"github.com/coder/coder/v2/coderd/devtunnel" "github.com/coder/coder/v2/coderd/devtunnel"
"github.com/coder/coder/v2/coderd/dormancy"
"github.com/coder/coder/v2/coderd/gitauth" "github.com/coder/coder/v2/coderd/gitauth"
"github.com/coder/coder/v2/coderd/gitsshkey" "github.com/coder/coder/v2/coderd/gitsshkey"
"github.com/coder/coder/v2/coderd/httpapi" "github.com/coder/coder/v2/coderd/httpapi"
@ -866,9 +865,6 @@ func (r *RootCmd) Server(newAPI func(context.Context, *coderd.Options) (*coderd.
options.StatsBatcher = batcher options.StatsBatcher = batcher
defer closeBatcher() defer closeBatcher()
closeCheckInactiveUsersFunc := dormancy.CheckInactiveUsers(ctx, logger, options.Database)
defer closeCheckInactiveUsersFunc()
// We use a separate coderAPICloser so the Enterprise API // We use a separate coderAPICloser so the Enterprise API
// can have it's own close functions. This is cleaner // can have it's own close functions. This is cleaner
// than abstracting the Coder API itself. // than abstracting the Coder API itself.

View File

@ -18,6 +18,7 @@ import (
"github.com/coder/coder/v2/enterprise/audit" "github.com/coder/coder/v2/enterprise/audit"
"github.com/coder/coder/v2/enterprise/audit/backends" "github.com/coder/coder/v2/enterprise/audit/backends"
"github.com/coder/coder/v2/enterprise/coderd" "github.com/coder/coder/v2/enterprise/coderd"
"github.com/coder/coder/v2/enterprise/coderd/dormancy"
"github.com/coder/coder/v2/enterprise/trialer" "github.com/coder/coder/v2/enterprise/trialer"
"github.com/coder/coder/v2/tailnet" "github.com/coder/coder/v2/tailnet"
@ -67,6 +68,8 @@ func (r *RootCmd) server() *clibase.Cmd {
ProxyHealthInterval: options.DeploymentValues.ProxyHealthStatusInterval.Value(), ProxyHealthInterval: options.DeploymentValues.ProxyHealthStatusInterval.Value(),
DefaultQuietHoursSchedule: options.DeploymentValues.UserQuietHoursSchedule.DefaultSchedule.Value(), DefaultQuietHoursSchedule: options.DeploymentValues.UserQuietHoursSchedule.DefaultSchedule.Value(),
ProvisionerDaemonPSK: options.DeploymentValues.Provisioner.DaemonPSK.Value(), ProvisionerDaemonPSK: options.DeploymentValues.Provisioner.DaemonPSK.Value(),
CheckInactiveUsersCancelFunc: dormancy.CheckInactiveUsers(ctx, options.Logger, options.Database),
} }
api, err := coderd.New(ctx, o) api, err := coderd.New(ctx, o)

View File

@ -378,6 +378,8 @@ type Options struct {
// optional pre-shared key for authentication of external provisioner daemons // optional pre-shared key for authentication of external provisioner daemons
ProvisionerDaemonPSK string ProvisionerDaemonPSK string
CheckInactiveUsersCancelFunc func()
} }
type API struct { type API struct {
@ -414,6 +416,10 @@ func (api *API) Close() error {
if api.derpMesh != nil { if api.derpMesh != nil {
_ = api.derpMesh.Close() _ = api.derpMesh.Close()
} }
if api.Options.CheckInactiveUsersCancelFunc != nil {
api.Options.CheckInactiveUsersCancelFunc()
}
return api.AGPL.Close() return api.AGPL.Close()
} }

View File

@ -13,7 +13,7 @@ import (
"github.com/coder/coder/v2/coderd/database" "github.com/coder/coder/v2/coderd/database"
"github.com/coder/coder/v2/coderd/database/dbfake" "github.com/coder/coder/v2/coderd/database/dbfake"
"github.com/coder/coder/v2/coderd/dormancy" "github.com/coder/coder/v2/enterprise/coderd/dormancy"
"github.com/coder/coder/v2/testutil" "github.com/coder/coder/v2/testutil"
) )