Skip to content

Commit 6c11170

Browse files
authored
chore: Force codersdk to not import anything from database (#1576)
* chore: Force codersdk to not import anything from database (linter rule) * chore: Move all database types in codersdk out
1 parent a083440 commit 6c11170

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+384
-299
lines changed

.golangci.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ linters-settings:
103103
settings:
104104
ruleguard:
105105
failOn: all
106-
rules: rules.go
106+
rules: '${configDir}/scripts/rules.go'
107107

108108
staticcheck:
109109
# https://staticcheck.io/docs/options#checks

cli/cliui/provisionerjob.go

+4-5
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import (
1212
"github.com/google/uuid"
1313
"golang.org/x/xerrors"
1414

15-
"github.com/coder/coder/coderd/database"
1615
"github.com/coder/coder/codersdk"
1716
)
1817

@@ -165,16 +164,16 @@ func ProvisionerJob(ctx context.Context, writer io.Writer, opts ProvisionerJobOp
165164
}
166165
output := ""
167166
switch log.Level {
168-
case database.LogLevelTrace, database.LogLevelDebug:
167+
case codersdk.LogLevelTrace, codersdk.LogLevelDebug:
169168
if !opts.Verbose {
170169
continue
171170
}
172171
output = Styles.Placeholder.Render(log.Output)
173-
case database.LogLevelError:
172+
case codersdk.LogLevelError:
174173
output = defaultStyles.Error.Render(log.Output)
175-
case database.LogLevelWarn:
174+
case codersdk.LogLevelWarn:
176175
output = Styles.Warn.Render(log.Output)
177-
case database.LogLevelInfo:
176+
case codersdk.LogLevelInfo:
178177
output = log.Output
179178
}
180179
jobMutex.Lock()

cli/cliui/resources.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ func WorkspaceResources(writer io.Writer, resources []codersdk.WorkspaceResource
4141
// Address on stop indexes whether a resource still exists when in the stopped transition.
4242
addressOnStop := map[string]codersdk.WorkspaceResource{}
4343
for _, resource := range resources {
44-
if resource.Transition != database.WorkspaceTransitionStop {
44+
if resource.Transition != codersdk.WorkspaceTransitionStop {
4545
continue
4646
}
4747
addressOnStop[resource.Type+"."+resource.Name] = resource

cli/cliui/resources_test.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ func TestWorkspaceResources(t *testing.T) {
2222
err := cliui.WorkspaceResources(ptty.Output(), []codersdk.WorkspaceResource{{
2323
Type: "google_compute_instance",
2424
Name: "dev",
25-
Transition: database.WorkspaceTransitionStart,
25+
Transition: codersdk.WorkspaceTransitionStart,
2626
Agents: []codersdk.WorkspaceAgent{{
2727
Name: "dev",
2828
Status: codersdk.WorkspaceAgentConnected,
@@ -46,15 +46,15 @@ func TestWorkspaceResources(t *testing.T) {
4646
done := make(chan struct{})
4747
go func() {
4848
err := cliui.WorkspaceResources(ptty.Output(), []codersdk.WorkspaceResource{{
49-
Transition: database.WorkspaceTransitionStart,
49+
Transition: codersdk.WorkspaceTransitionStart,
5050
Type: "google_compute_disk",
5151
Name: "root",
5252
}, {
53-
Transition: database.WorkspaceTransitionStop,
53+
Transition: codersdk.WorkspaceTransitionStop,
5454
Type: "google_compute_disk",
5555
Name: "root",
5656
}, {
57-
Transition: database.WorkspaceTransitionStart,
57+
Transition: codersdk.WorkspaceTransitionStart,
5858
Type: "google_compute_instance",
5959
Name: "dev",
6060
Agents: []codersdk.WorkspaceAgent{{
@@ -65,7 +65,7 @@ func TestWorkspaceResources(t *testing.T) {
6565
Architecture: "amd64",
6666
}},
6767
}, {
68-
Transition: database.WorkspaceTransitionStart,
68+
Transition: codersdk.WorkspaceTransitionStart,
6969
Type: "kubernetes_pod",
7070
Name: "dev",
7171
Agents: []codersdk.WorkspaceAgent{{

cli/configssh.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import (
1515

1616
"github.com/coder/coder/cli/cliflag"
1717
"github.com/coder/coder/cli/cliui"
18-
"github.com/coder/coder/coderd/database"
1918
"github.com/coder/coder/codersdk"
2019
)
2120

@@ -86,7 +85,7 @@ func configSSH() *cobra.Command {
8685
return err
8786
}
8887
for _, resource := range resources {
89-
if resource.Transition != database.WorkspaceTransitionStart {
88+
if resource.Transition != codersdk.WorkspaceTransitionStart {
9089
continue
9190
}
9291
for _, agent := range resource.Agents {

cli/create.go

+2-3
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import (
1010

1111
"github.com/coder/coder/cli/cliflag"
1212
"github.com/coder/coder/cli/cliui"
13-
"github.com/coder/coder/coderd/database"
1413
"github.com/coder/coder/codersdk"
1514
)
1615

@@ -134,8 +133,8 @@ func create() *cobra.Command {
134133
parameters = append(parameters, codersdk.CreateParameterRequest{
135134
Name: parameterSchema.Name,
136135
SourceValue: value,
137-
SourceScheme: database.ParameterSourceSchemeData,
138-
DestinationScheme: database.ParameterDestinationScheme(parameterSchema.DefaultDestinationScheme),
136+
SourceScheme: codersdk.ParameterSourceSchemeData,
137+
DestinationScheme: parameterSchema.DefaultDestinationScheme,
139138
})
140139
}
141140
_, _ = fmt.Fprintln(cmd.OutOrStdout())

cli/delete.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import (
66
"github.com/spf13/cobra"
77

88
"github.com/coder/coder/cli/cliui"
9-
"github.com/coder/coder/coderd/database"
109
"github.com/coder/coder/codersdk"
1110
)
1211

@@ -33,7 +32,7 @@ func delete() *cobra.Command {
3332
}
3433
before := time.Now()
3534
build, err := client.CreateWorkspaceBuild(cmd.Context(), workspace.ID, codersdk.CreateWorkspaceBuildRequest{
36-
Transition: database.WorkspaceTransitionDelete,
35+
Transition: codersdk.WorkspaceTransitionDelete,
3736
})
3837
if err != nil {
3938
return err

cli/list.go

+3-4
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import (
1111

1212
"github.com/coder/coder/cli/cliui"
1313
"github.com/coder/coder/coderd/autobuild/schedule"
14-
"github.com/coder/coder/coderd/database"
1514
"github.com/coder/coder/codersdk"
1615
)
1716

@@ -66,17 +65,17 @@ func list() *cobra.Command {
6665
}
6766

6867
switch workspace.LatestBuild.Transition {
69-
case database.WorkspaceTransitionStart:
68+
case codersdk.WorkspaceTransitionStart:
7069
status = "Running"
7170
if inProgress {
7271
status = "Starting"
7372
}
74-
case database.WorkspaceTransitionStop:
73+
case codersdk.WorkspaceTransitionStop:
7574
status = "Stopped"
7675
if inProgress {
7776
status = "Stopping"
7877
}
79-
case database.WorkspaceTransitionDelete:
78+
case codersdk.WorkspaceTransitionDelete:
8079
status = "Deleted"
8180
if inProgress {
8281
status = "Deleting"

cli/portforward.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import (
1818

1919
coderagent "github.com/coder/coder/agent"
2020
"github.com/coder/coder/cli/cliui"
21-
"github.com/coder/coder/coderd/database"
2221
"github.com/coder/coder/codersdk"
2322
)
2423

@@ -80,7 +79,7 @@ func portForward() *cobra.Command {
8079
if err != nil {
8180
return err
8281
}
83-
if workspace.LatestBuild.Transition != database.WorkspaceTransitionStart {
82+
if workspace.LatestBuild.Transition != codersdk.WorkspaceTransitionStart {
8483
return xerrors.New("workspace must be in start transition to port-forward")
8584
}
8685
if workspace.LatestBuild.Job.CompletedAt == nil {

cli/server.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,7 @@ func server() *cobra.Command {
395395
for _, workspace := range workspaces {
396396
before := time.Now()
397397
build, err := client.CreateWorkspaceBuild(cmd.Context(), workspace.ID, codersdk.CreateWorkspaceBuildRequest{
398-
Transition: database.WorkspaceTransitionDelete,
398+
Transition: codersdk.WorkspaceTransitionDelete,
399399
})
400400
if err != nil {
401401
return xerrors.Errorf("delete workspace: %w", err)

cli/ssh.go

+2-3
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import (
2222
"github.com/coder/coder/cli/cliui"
2323
"github.com/coder/coder/coderd/autobuild/notify"
2424
"github.com/coder/coder/coderd/autobuild/schedule"
25-
"github.com/coder/coder/coderd/database"
2625
"github.com/coder/coder/codersdk"
2726
"github.com/coder/coder/cryptorand"
2827
)
@@ -193,7 +192,7 @@ func getWorkspaceAndAgent(cmd *cobra.Command, client *codersdk.Client, orgID uui
193192
}
194193
}
195194

196-
if workspace.LatestBuild.Transition != database.WorkspaceTransitionStart {
195+
if workspace.LatestBuild.Transition != codersdk.WorkspaceTransitionStart {
197196
return codersdk.Workspace{}, codersdk.WorkspaceAgent{}, xerrors.New("workspace must be in start transition to ssh")
198197
}
199198
if workspace.LatestBuild.Job.CompletedAt == nil {
@@ -202,7 +201,7 @@ func getWorkspaceAndAgent(cmd *cobra.Command, client *codersdk.Client, orgID uui
202201
return codersdk.Workspace{}, codersdk.WorkspaceAgent{}, err
203202
}
204203
}
205-
if workspace.LatestBuild.Transition == database.WorkspaceTransitionDelete {
204+
if workspace.LatestBuild.Transition == codersdk.WorkspaceTransitionDelete {
206205
return codersdk.Workspace{}, codersdk.WorkspaceAgent{}, xerrors.Errorf("workspace %q is being deleted", workspace.Name)
207206
}
208207

cli/start.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import (
66
"github.com/spf13/cobra"
77

88
"github.com/coder/coder/cli/cliui"
9-
"github.com/coder/coder/coderd/database"
109
"github.com/coder/coder/codersdk"
1110
)
1211

@@ -31,7 +30,7 @@ func start() *cobra.Command {
3130
}
3231
before := time.Now()
3332
build, err := client.CreateWorkspaceBuild(cmd.Context(), workspace.ID, codersdk.CreateWorkspaceBuildRequest{
34-
Transition: database.WorkspaceTransitionStart,
33+
Transition: codersdk.WorkspaceTransitionStart,
3534
})
3635
if err != nil {
3736
return err

cli/stop.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import (
66
"github.com/spf13/cobra"
77

88
"github.com/coder/coder/cli/cliui"
9-
"github.com/coder/coder/coderd/database"
109
"github.com/coder/coder/codersdk"
1110
)
1211

@@ -31,7 +30,7 @@ func stop() *cobra.Command {
3130
}
3231
before := time.Now()
3332
build, err := client.CreateWorkspaceBuild(cmd.Context(), workspace.ID, codersdk.CreateWorkspaceBuildRequest{
34-
Transition: database.WorkspaceTransitionStop,
33+
Transition: codersdk.WorkspaceTransitionStop,
3534
})
3635
if err != nil {
3736
return err

cli/templatecreate.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -128,9 +128,9 @@ func templateCreate() *cobra.Command {
128128
func createValidTemplateVersion(cmd *cobra.Command, client *codersdk.Client, organization codersdk.Organization, provisioner database.ProvisionerType, hash string, parameters ...codersdk.CreateParameterRequest) (*codersdk.TemplateVersion, []codersdk.CreateParameterRequest, error) {
129129
before := time.Now()
130130
version, err := client.CreateTemplateVersion(cmd.Context(), organization.ID, codersdk.CreateTemplateVersionRequest{
131-
StorageMethod: database.ProvisionerStorageMethodFile,
131+
StorageMethod: codersdk.ProvisionerStorageMethodFile,
132132
StorageSource: hash,
133-
Provisioner: provisioner,
133+
Provisioner: codersdk.ProvisionerType(provisioner),
134134
ParameterValues: parameters,
135135
})
136136
if err != nil {
@@ -192,8 +192,8 @@ func createValidTemplateVersion(cmd *cobra.Command, client *codersdk.Client, org
192192
parameters = append(parameters, codersdk.CreateParameterRequest{
193193
Name: parameterSchema.Name,
194194
SourceValue: value,
195-
SourceScheme: database.ParameterSourceSchemeData,
196-
DestinationScheme: database.ParameterDestinationScheme(parameterSchema.DefaultDestinationScheme),
195+
SourceScheme: codersdk.ParameterSourceSchemeData,
196+
DestinationScheme: parameterSchema.DefaultDestinationScheme,
197197
})
198198
_, _ = fmt.Fprintln(cmd.OutOrStdout())
199199
}

cli/templateupdate.go

+2-3
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import (
1010
"golang.org/x/xerrors"
1111

1212
"github.com/coder/coder/cli/cliui"
13-
"github.com/coder/coder/coderd/database"
1413
"github.com/coder/coder/codersdk"
1514
"github.com/coder/coder/provisionersdk"
1615
)
@@ -68,9 +67,9 @@ func templateUpdate() *cobra.Command {
6867
before := time.Now()
6968
templateVersion, err := client.CreateTemplateVersion(cmd.Context(), organization.ID, codersdk.CreateTemplateVersionRequest{
7069
TemplateID: template.ID,
71-
StorageMethod: database.ProvisionerStorageMethodFile,
70+
StorageMethod: codersdk.ProvisionerStorageMethodFile,
7271
StorageSource: resp.Hash,
73-
Provisioner: database.ProvisionerType(provisioner),
72+
Provisioner: codersdk.ProvisionerType(provisioner),
7473
})
7574
if err != nil {
7675
return err

cmd/cliui/main.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ func main() {
118118
log := codersdk.ProvisionerJobLog{
119119
CreatedAt: time.Now(),
120120
Output: fmt.Sprintf("Some log %d", count),
121-
Level: database.LogLevelInfo,
121+
Level: codersdk.LogLevelInfo,
122122
}
123123
switch {
124124
case count == 10:
@@ -133,7 +133,7 @@ func main() {
133133
log.Stage = "Cleaning Up"
134134
}
135135
if count%5 == 0 {
136-
log.Level = database.LogLevelWarn
136+
log.Level = codersdk.LogLevelWarn
137137
}
138138
count++
139139
if log.Output == "" && log.Stage == "" {
@@ -188,15 +188,15 @@ func main() {
188188
RunE: func(cmd *cobra.Command, args []string) error {
189189
disconnected := database.Now().Add(-4 * time.Second)
190190
return cliui.WorkspaceResources(cmd.OutOrStdout(), []codersdk.WorkspaceResource{{
191-
Transition: database.WorkspaceTransitionStart,
191+
Transition: codersdk.WorkspaceTransitionStart,
192192
Type: "google_compute_disk",
193193
Name: "root",
194194
}, {
195-
Transition: database.WorkspaceTransitionStop,
195+
Transition: codersdk.WorkspaceTransitionStop,
196196
Type: "google_compute_disk",
197197
Name: "root",
198198
}, {
199-
Transition: database.WorkspaceTransitionStart,
199+
Transition: codersdk.WorkspaceTransitionStart,
200200
Type: "google_compute_instance",
201201
Name: "dev",
202202
Agents: []codersdk.WorkspaceAgent{{
@@ -207,7 +207,7 @@ func main() {
207207
Architecture: "amd64",
208208
}},
209209
}, {
210-
Transition: database.WorkspaceTransitionStart,
210+
Transition: codersdk.WorkspaceTransitionStart,
211211
Type: "kubernetes_pod",
212212
Name: "dev",
213213
Agents: []codersdk.WorkspaceAgent{{

0 commit comments

Comments
 (0)