Skip to content

Commit 2b19a23

Browse files
authored
chore(coderd): move provisionerd tags to provisionersdk (#11100)
1 parent 4ca4736 commit 2b19a23

10 files changed

+45
-40
lines changed

coderd/coderd.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1160,7 +1160,7 @@ func (api *API) CreateInMemoryProvisionerDaemon(ctx context.Context, name string
11601160
}()
11611161

11621162
tags := provisionerdserver.Tags{
1163-
provisionerdserver.TagScope: provisionerdserver.ScopeOrganization,
1163+
provisionersdk.TagScope: provisionersdk.ScopeOrganization,
11641164
}
11651165

11661166
mux := drpcmux.New()

coderd/templateversions.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import (
3131
"github.com/coder/coder/v2/coderd/tracing"
3232
"github.com/coder/coder/v2/codersdk"
3333
"github.com/coder/coder/v2/examples"
34+
"github.com/coder/coder/v2/provisionersdk"
3435
sdkproto "github.com/coder/coder/v2/provisionersdk/proto"
3536
)
3637

@@ -1331,7 +1332,7 @@ func (api *API) postTemplateVersionsByOrganization(rw http.ResponseWriter, r *ht
13311332
}
13321333

13331334
// Ensures the "owner" is properly applied.
1334-
tags := provisionerdserver.MutateTags(apiKey.UserID, req.ProvisionerTags)
1335+
tags := provisionersdk.MutateTags(apiKey.UserID, req.ProvisionerTags)
13351336

13361337
if req.ExampleID != "" && req.FileID != uuid.Nil {
13371338
httpapi.Write(ctx, rw, http.StatusBadRequest, codersdk.Response{

coderd/templateversions_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ import (
1717
"github.com/coder/coder/v2/coderd/coderdtest"
1818
"github.com/coder/coder/v2/coderd/database"
1919
"github.com/coder/coder/v2/coderd/externalauth"
20-
"github.com/coder/coder/v2/coderd/provisionerdserver"
2120
"github.com/coder/coder/v2/coderd/rbac"
2221
"github.com/coder/coder/v2/codersdk"
2322
"github.com/coder/coder/v2/examples"
2423
"github.com/coder/coder/v2/provisioner/echo"
24+
"github.com/coder/coder/v2/provisionersdk"
2525
"github.com/coder/coder/v2/provisionersdk/proto"
2626
"github.com/coder/coder/v2/testutil"
2727
)
@@ -154,7 +154,7 @@ func TestPostTemplateVersionsByOrganization(t *testing.T) {
154154
})
155155
require.NoError(t, err)
156156
require.Equal(t, "bananas", version.Name)
157-
require.Equal(t, provisionerdserver.ScopeOrganization, version.Job.Tags[provisionerdserver.TagScope])
157+
require.Equal(t, provisionersdk.ScopeOrganization, version.Job.Tags[provisionersdk.TagScope])
158158

159159
require.Len(t, auditor.AuditLogs(), 2)
160160
assert.Equal(t, database.AuditActionCreate, auditor.AuditLogs()[1].Action)

coderd/wsbuilder/wsbuilder.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ import (
1010
"net/http"
1111
"time"
1212

13+
"github.com/coder/coder/v2/provisionersdk"
14+
1315
"github.com/google/uuid"
1416
"github.com/sqlc-dev/pqtype"
1517
"golang.org/x/xerrors"
@@ -294,7 +296,7 @@ func (b *Builder) buildTx(authFunc func(action rbac.Action, object rbac.Objecter
294296
if err != nil {
295297
return nil, nil, BuildError{http.StatusInternalServerError, "marshal metadata", err}
296298
}
297-
tags := provisionerdserver.MutateTags(b.workspace.OwnerID, templateVersionJob.Tags)
299+
tags := provisionersdk.MutateTags(b.workspace.OwnerID, templateVersionJob.Tags)
298300

299301
now := dbtime.Now()
300302
provisionerJob, err := b.store.InsertProvisionerJob(b.ctx, database.InsertProvisionerJobParams{

coderd/wsbuilder/wsbuilder_test.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ import (
88
"testing"
99
"time"
1010

11+
"github.com/coder/coder/v2/provisionersdk"
12+
1113
"github.com/golang/mock/gomock"
1214
"github.com/google/uuid"
1315
"github.com/stretchr/testify/assert"
@@ -690,8 +692,8 @@ func withActiveVersion(params []database.TemplateVersionParameter) func(mTx *dbm
690692
Type: database.ProvisionerJobTypeTemplateVersionImport,
691693
Input: nil,
692694
Tags: database.StringMap{
693-
"version": "active",
694-
provisionerdserver.TagScope: provisionerdserver.ScopeUser,
695+
"version": "active",
696+
provisionersdk.TagScope: provisionersdk.ScopeUser,
695697
},
696698
FileID: activeFileID,
697699
StartedAt: sql.NullTime{Time: dbtime.Now(), Valid: true},
@@ -730,8 +732,8 @@ func withInactiveVersion(params []database.TemplateVersionParameter) func(mTx *d
730732
Type: database.ProvisionerJobTypeTemplateVersionImport,
731733
Input: nil,
732734
Tags: database.StringMap{
733-
"version": "inactive",
734-
provisionerdserver.TagScope: provisionerdserver.ScopeUser,
735+
"version": "inactive",
736+
provisionersdk.TagScope: provisionersdk.ScopeUser,
735737
},
736738
FileID: inactiveFileID,
737739
StartedAt: sql.NullTime{Time: dbtime.Now(), Valid: true},

enterprise/cli/provisionerdaemons.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import (
1919
"github.com/coder/coder/v2/cli/cliui"
2020
"github.com/coder/coder/v2/cli/cliutil"
2121
"github.com/coder/coder/v2/coderd/database"
22-
"github.com/coder/coder/v2/coderd/provisionerdserver"
2322
"github.com/coder/coder/v2/codersdk"
2423
"github.com/coder/coder/v2/provisioner/terraform"
2524
"github.com/coder/coder/v2/provisionerd"
@@ -102,8 +101,8 @@ func (r *RootCmd) provisionerDaemonStart() *clibase.Cmd {
102101
// When authorizing with a PSK, we automatically scope the provisionerd
103102
// to organization. Scoping to user with PSK auth is not a valid configuration.
104103
if preSharedKey != "" {
105-
logger.Info(ctx, "psk auth automatically sets tag "+provisionerdserver.TagScope+"="+provisionerdserver.ScopeOrganization)
106-
tags[provisionerdserver.TagScope] = provisionerdserver.ScopeOrganization
104+
logger.Info(ctx, "psk auth automatically sets tag "+provisionersdk.TagScope+"="+provisionersdk.ScopeOrganization)
105+
tags[provisionersdk.TagScope] = provisionersdk.ScopeOrganization
107106
}
108107

109108
err = os.MkdirAll(cacheDir, 0o700)

enterprise/coderd/provisionerdaemons.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ import (
1212
"strings"
1313
"time"
1414

15+
"github.com/coder/coder/v2/provisionersdk"
16+
1517
"github.com/google/uuid"
1618
"github.com/hashicorp/yamux"
1719
"github.com/moby/moby/pkg/namesgenerator"
@@ -101,8 +103,8 @@ func (p *provisionerDaemonAuth) authorize(r *http.Request, tags map[string]strin
101103
ctx := r.Context()
102104
apiKey, ok := httpmw.APIKeyOptional(r)
103105
if ok {
104-
tags = provisionerdserver.MutateTags(apiKey.UserID, tags)
105-
if tags[provisionerdserver.TagScope] == provisionerdserver.ScopeUser {
106+
tags = provisionersdk.MutateTags(apiKey.UserID, tags)
107+
if tags[provisionersdk.TagScope] == provisionersdk.ScopeUser {
106108
// Any authenticated user can create provisioner daemons scoped
107109
// for jobs that they own,
108110
return tags, true
@@ -119,7 +121,7 @@ func (p *provisionerDaemonAuth) authorize(r *http.Request, tags map[string]strin
119121
psk := r.Header.Get(codersdk.ProvisionerDaemonPSK)
120122
if subtle.ConstantTimeCompare([]byte(p.psk), []byte(psk)) == 1 {
121123
// If using PSK auth, the daemon is, by definition, scoped to the organization.
122-
tags[provisionerdserver.TagScope] = provisionerdserver.ScopeOrganization
124+
tags[provisionersdk.TagScope] = provisionersdk.ScopeOrganization
123125
return tags, true
124126
}
125127
}

enterprise/coderd/provisionerdaemons_test.go

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import (
1313
"cdr.dev/slog/sloggers/slogtest"
1414
"github.com/coder/coder/v2/coderd/coderdtest"
1515
"github.com/coder/coder/v2/coderd/database"
16-
"github.com/coder/coder/v2/coderd/provisionerdserver"
1716
"github.com/coder/coder/v2/coderd/rbac"
1817
"github.com/coder/coder/v2/coderd/util/ptr"
1918
"github.com/coder/coder/v2/codersdk"
@@ -91,7 +90,7 @@ func TestProvisionerDaemonServe(t *testing.T) {
9190
codersdk.ProvisionerTypeEcho,
9291
},
9392
Tags: map[string]string{
94-
provisionerdserver.TagScope: provisionerdserver.ScopeOrganization,
93+
provisionersdk.TagScope: provisionersdk.ScopeOrganization,
9594
},
9695
})
9796
require.Error(t, err)
@@ -118,7 +117,7 @@ func TestProvisionerDaemonServe(t *testing.T) {
118117
codersdk.ProvisionerTypeEcho,
119118
},
120119
Tags: map[string]string{
121-
provisionerdserver.TagScope: provisionerdserver.ScopeOrganization,
120+
provisionersdk.TagScope: provisionersdk.ScopeOrganization,
122121
},
123122
})
124123
require.Error(t, err)
@@ -135,7 +134,7 @@ func TestProvisionerDaemonServe(t *testing.T) {
135134
},
136135
}})
137136
closer := coderdtest.NewExternalProvisionerDaemon(t, client, user.OrganizationID, map[string]string{
138-
provisionerdserver.TagScope: provisionerdserver.ScopeUser,
137+
provisionersdk.TagScope: provisionersdk.ScopeUser,
139138
})
140139
defer closer.Close()
141140

@@ -169,7 +168,7 @@ func TestProvisionerDaemonServe(t *testing.T) {
169168
FileID: file.ID,
170169
Provisioner: codersdk.ProvisionerTypeEcho,
171170
ProvisionerTags: map[string]string{
172-
provisionerdserver.TagScope: provisionerdserver.ScopeUser,
171+
provisionersdk.TagScope: provisionersdk.ScopeUser,
173172
},
174173
})
175174
require.NoError(t, err)
@@ -178,7 +177,7 @@ func TestProvisionerDaemonServe(t *testing.T) {
178177
another, _ := coderdtest.CreateAnotherUser(t, client, user.OrganizationID)
179178
_ = closer.Close()
180179
closer = coderdtest.NewExternalProvisionerDaemon(t, another, user.OrganizationID, map[string]string{
181-
provisionerdserver.TagScope: provisionerdserver.ScopeUser,
180+
provisionersdk.TagScope: provisionersdk.ScopeUser,
182181
})
183182
defer closer.Close()
184183
workspace := coderdtest.CreateWorkspace(t, another, user.OrganizationID, template.ID)
@@ -204,7 +203,7 @@ func TestProvisionerDaemonServe(t *testing.T) {
204203
codersdk.ProvisionerTypeEcho,
205204
},
206205
Tags: map[string]string{
207-
provisionerdserver.TagScope: provisionerdserver.ScopeOrganization,
206+
provisionersdk.TagScope: provisionersdk.ScopeOrganization,
208207
},
209208
PreSharedKey: "provisionersftw",
210209
})
@@ -260,7 +259,7 @@ func TestProvisionerDaemonServe(t *testing.T) {
260259
codersdk.ProvisionerTypeEcho,
261260
},
262261
Tags: map[string]string{
263-
provisionerdserver.TagScope: provisionerdserver.ScopeOrganization,
262+
provisionersdk.TagScope: provisionersdk.ScopeOrganization,
264263
},
265264
PreSharedKey: "provisionersftw",
266265
})
@@ -338,7 +337,7 @@ func TestProvisionerDaemonServe(t *testing.T) {
338337
codersdk.ProvisionerTypeEcho,
339338
},
340339
Tags: map[string]string{
341-
provisionerdserver.TagScope: provisionerdserver.ScopeOrganization,
340+
provisionersdk.TagScope: provisionersdk.ScopeOrganization,
342341
},
343342
PreSharedKey: "the wrong key",
344343
})
@@ -369,7 +368,7 @@ func TestProvisionerDaemonServe(t *testing.T) {
369368
codersdk.ProvisionerTypeEcho,
370369
},
371370
Tags: map[string]string{
372-
provisionerdserver.TagScope: provisionerdserver.ScopeOrganization,
371+
provisionersdk.TagScope: provisionersdk.ScopeOrganization,
373372
},
374373
})
375374
require.Error(t, err)
@@ -398,7 +397,7 @@ func TestProvisionerDaemonServe(t *testing.T) {
398397
codersdk.ProvisionerTypeEcho,
399398
},
400399
Tags: map[string]string{
401-
provisionerdserver.TagScope: provisionerdserver.ScopeOrganization,
400+
provisionersdk.TagScope: provisionersdk.ScopeOrganization,
402401
},
403402
PreSharedKey: "provisionersftw",
404403
})

coderd/provisionerdserver/provisionertags.go renamed to provisionersdk/provisionertags.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package provisionerdserver
1+
package provisionersdk
22

33
import "github.com/google/uuid"
44

coderd/provisionerdserver/provisionertags_test.go renamed to provisionersdk/provisionertags_test.go

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
package provisionerdserver_test
1+
package provisionersdk_test
22

33
import (
44
"encoding/json"
55
"testing"
66

7+
"github.com/coder/coder/v2/provisionersdk"
8+
79
"github.com/google/uuid"
810
"github.com/stretchr/testify/require"
9-
10-
"github.com/coder/coder/v2/coderd/provisionerdserver"
1111
)
1212

1313
func TestMutateTags(t *testing.T) {
@@ -26,40 +26,40 @@ func TestMutateTags(t *testing.T) {
2626
userID: uuid.Nil,
2727
tags: nil,
2828
want: map[string]string{
29-
provisionerdserver.TagScope: provisionerdserver.ScopeOrganization,
29+
provisionersdk.TagScope: provisionersdk.ScopeOrganization,
3030
},
3131
},
3232
{
3333
name: "empty tags",
3434
userID: uuid.Nil,
3535
tags: map[string]string{},
3636
want: map[string]string{
37-
provisionerdserver.TagScope: provisionerdserver.ScopeOrganization,
37+
provisionersdk.TagScope: provisionersdk.ScopeOrganization,
3838
},
3939
},
4040
{
4141
name: "user scope",
42-
tags: map[string]string{provisionerdserver.TagScope: provisionerdserver.ScopeUser},
42+
tags: map[string]string{provisionersdk.TagScope: provisionersdk.ScopeUser},
4343
userID: testUserID,
4444
want: map[string]string{
45-
provisionerdserver.TagScope: provisionerdserver.ScopeUser,
46-
provisionerdserver.TagOwner: testUserID.String(),
45+
provisionersdk.TagScope: provisionersdk.ScopeUser,
46+
provisionersdk.TagOwner: testUserID.String(),
4747
},
4848
},
4949
{
5050
name: "organization scope",
51-
tags: map[string]string{provisionerdserver.TagScope: provisionerdserver.ScopeOrganization},
51+
tags: map[string]string{provisionersdk.TagScope: provisionersdk.ScopeOrganization},
5252
userID: testUserID,
5353
want: map[string]string{
54-
provisionerdserver.TagScope: provisionerdserver.ScopeOrganization,
54+
provisionersdk.TagScope: provisionersdk.ScopeOrganization,
5555
},
5656
},
5757
{
5858
name: "invalid scope",
59-
tags: map[string]string{provisionerdserver.TagScope: "360noscope"},
59+
tags: map[string]string{provisionersdk.TagScope: "360noscope"},
6060
userID: testUserID,
6161
want: map[string]string{
62-
provisionerdserver.TagScope: provisionerdserver.ScopeOrganization,
62+
provisionersdk.TagScope: provisionersdk.ScopeOrganization,
6363
},
6464
},
6565
} {
@@ -73,7 +73,7 @@ func TestMutateTags(t *testing.T) {
7373
var tags map[string]string
7474
err = json.Unmarshal(bytes, &tags)
7575
require.NoError(t, err)
76-
got := provisionerdserver.MutateTags(tt.userID, tags)
76+
got := provisionersdk.MutateTags(tt.userID, tags)
7777
require.Equal(t, tt.want, got)
7878
})
7979
}

0 commit comments

Comments
 (0)