Skip to content

Commit c46039b

Browse files
committed
fix: show user-auth provisioners for all organizations
1 parent 2371153 commit c46039b

File tree

6 files changed

+31
-11
lines changed

6 files changed

+31
-11
lines changed

cli/provisioners_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ func TestProvisioners_Golden(t *testing.T) {
9595
Name: "provisioner-1",
9696
CreatedAt: dbtime.Now().Add(1 * time.Second),
9797
LastSeenAt: sql.NullTime{Time: coderdAPI.Clock.Now().Add(time.Hour), Valid: true}, // Stale interval can't be adjusted, keep online.
98-
KeyID: uuid.MustParse(codersdk.ProvisionerKeyIDBuiltIn),
98+
KeyID: codersdk.ProvisionerKeyUUIDBuiltIn,
9999
Tags: database.StringMap{"owner": "", "scope": "organization", "foo": "bar"},
100100
})
101101
w1 := dbgen.Workspace(t, coderdAPI.Database, database.WorkspaceTable{
@@ -122,7 +122,7 @@ func TestProvisioners_Golden(t *testing.T) {
122122
Name: "provisioner-2",
123123
CreatedAt: dbtime.Now().Add(2 * time.Second),
124124
LastSeenAt: sql.NullTime{Time: coderdAPI.Clock.Now().Add(-time.Hour), Valid: true},
125-
KeyID: uuid.MustParse(codersdk.ProvisionerKeyIDBuiltIn),
125+
KeyID: codersdk.ProvisionerKeyUUIDBuiltIn,
126126
Tags: database.StringMap{"owner": "", "scope": "organization"},
127127
})
128128
w2 := dbgen.Workspace(t, coderdAPI.Database, database.WorkspaceTable{
@@ -168,7 +168,7 @@ func TestProvisioners_Golden(t *testing.T) {
168168
Name: "provisioner-3",
169169
CreatedAt: dbtime.Now().Add(3 * time.Second),
170170
LastSeenAt: sql.NullTime{Time: coderdAPI.Clock.Now().Add(time.Hour), Valid: true}, // Stale interval can't be adjusted, keep online.
171-
KeyID: uuid.MustParse(codersdk.ProvisionerKeyIDBuiltIn),
171+
KeyID: codersdk.ProvisionerKeyUUIDBuiltIn,
172172
Tags: database.StringMap{"owner": "", "scope": "organization"},
173173
})
174174

coderd/database/dbmem/dbmem.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ func New() database.Store {
114114
q.defaultProxyIconURL = "/emojis/1f3e1.png"
115115

116116
_, err = q.InsertProvisionerKey(context.Background(), database.InsertProvisionerKeyParams{
117-
ID: uuid.MustParse(codersdk.ProvisionerKeyIDBuiltIn),
117+
ID: codersdk.ProvisionerKeyUUIDBuiltIn,
118118
OrganizationID: defaultOrg.ID,
119119
CreatedAt: dbtime.Now(),
120120
HashedSecret: []byte{},
@@ -125,7 +125,7 @@ func New() database.Store {
125125
panic(xerrors.Errorf("failed to create built-in provisioner key: %w", err))
126126
}
127127
_, err = q.InsertProvisionerKey(context.Background(), database.InsertProvisionerKeyParams{
128-
ID: uuid.MustParse(codersdk.ProvisionerKeyIDUserAuth),
128+
ID: codersdk.ProvisionerKeyUUIDUserAuth,
129129
OrganizationID: defaultOrg.ID,
130130
CreatedAt: dbtime.Now(),
131131
HashedSecret: []byte{},
@@ -136,7 +136,7 @@ func New() database.Store {
136136
panic(xerrors.Errorf("failed to create user-auth provisioner key: %w", err))
137137
}
138138
_, err = q.InsertProvisionerKey(context.Background(), database.InsertProvisionerKeyParams{
139-
ID: uuid.MustParse(codersdk.ProvisionerKeyIDPSK),
139+
ID: codersdk.ProvisionerKeyUUIDPSK,
140140
OrganizationID: defaultOrg.ID,
141141
CreatedAt: dbtime.Now(),
142142
HashedSecret: []byte{},

coderd/database/dbpurge/dbpurge_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -413,7 +413,7 @@ func TestDeleteOldProvisionerDaemons(t *testing.T) {
413413
Version: "1.0.0",
414414
APIVersion: proto.CurrentVersion.String(),
415415
OrganizationID: defaultOrg.ID,
416-
KeyID: uuid.MustParse(codersdk.ProvisionerKeyIDBuiltIn),
416+
KeyID: codersdk.ProvisionerKeyUUIDBuiltIn,
417417
})
418418
require.NoError(t, err)
419419
_, err = db.UpsertProvisionerDaemon(ctx, database.UpsertProvisionerDaemonParams{
@@ -426,7 +426,7 @@ func TestDeleteOldProvisionerDaemons(t *testing.T) {
426426
Version: "1.0.0",
427427
APIVersion: proto.CurrentVersion.String(),
428428
OrganizationID: defaultOrg.ID,
429-
KeyID: uuid.MustParse(codersdk.ProvisionerKeyIDBuiltIn),
429+
KeyID: codersdk.ProvisionerKeyUUIDBuiltIn,
430430
})
431431
require.NoError(t, err)
432432
_, err = db.UpsertProvisionerDaemon(ctx, database.UpsertProvisionerDaemonParams{
@@ -441,7 +441,7 @@ func TestDeleteOldProvisionerDaemons(t *testing.T) {
441441
Version: "1.0.0",
442442
APIVersion: proto.CurrentVersion.String(),
443443
OrganizationID: defaultOrg.ID,
444-
KeyID: uuid.MustParse(codersdk.ProvisionerKeyIDBuiltIn),
444+
KeyID: codersdk.ProvisionerKeyUUIDBuiltIn,
445445
})
446446
require.NoError(t, err)
447447
_, err = db.UpsertProvisionerDaemon(ctx, database.UpsertProvisionerDaemonParams{
@@ -457,7 +457,7 @@ func TestDeleteOldProvisionerDaemons(t *testing.T) {
457457
Version: "1.0.0",
458458
APIVersion: proto.CurrentVersion.String(),
459459
OrganizationID: defaultOrg.ID,
460-
KeyID: uuid.MustParse(codersdk.ProvisionerKeyIDBuiltIn),
460+
KeyID: codersdk.ProvisionerKeyUUIDBuiltIn,
461461
})
462462
require.NoError(t, err)
463463

coderd/provisionerdserver/provisionerdserver_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2272,7 +2272,7 @@ func setup(t *testing.T, ignoreLogErrors bool, ov *overrides) (proto.DRPCProvisi
22722272
Version: buildinfo.Version(),
22732273
APIVersion: proto.CurrentVersion.String(),
22742274
OrganizationID: defOrg.ID,
2275-
KeyID: uuid.MustParse(codersdk.ProvisionerKeyIDBuiltIn),
2275+
KeyID: codersdk.ProvisionerKeyUUIDBuiltIn,
22762276
})
22772277
require.NoError(t, err)
22782278

codersdk/provisionerdaemons.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,12 @@ const (
352352
ProvisionerKeyIDPSK = "00000000-0000-0000-0000-000000000003"
353353
)
354354

355+
var (
356+
ProvisionerKeyUUIDBuiltIn = uuid.MustParse(ProvisionerKeyIDBuiltIn)
357+
ProvisionerKeyUUIDUserAuth = uuid.MustParse(ProvisionerKeyIDUserAuth)
358+
ProvisionerKeyUUIDPSK = uuid.MustParse(ProvisionerKeyIDPSK)
359+
)
360+
355361
const (
356362
ProvisionerKeyNameBuiltIn = "built-in"
357363
ProvisionerKeyNameUserAuth = "user-auth"

enterprise/coderd/provisionerkeys.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,5 +244,19 @@ func convertProvisionerKeys(dbKeys []database.ProvisionerKey) []codersdk.Provisi
244244
return key1.CreatedAt.Compare(key2.CreatedAt)
245245
})
246246

247+
// For the default organization, we insert three rows for the special provisioner
248+
// key types (built-in, user-auth, and psk). We _don't_ insert those into the
249+
// database for any other org, but we still need to include the user-auth key
250+
// in this list, so we just insert it manually.
251+
if !slices.ContainsFunc(keys, func(key codersdk.ProvisionerKey) bool {
252+
return key.ID == codersdk.ProvisionerKeyUUIDUserAuth
253+
}) {
254+
keys = append(keys, codersdk.ProvisionerKey{
255+
ID: codersdk.ProvisionerKeyUUIDUserAuth,
256+
Name: codersdk.ProvisionerKeyNameUserAuth,
257+
Tags: make(map[string]string),
258+
})
259+
}
260+
247261
return keys
248262
}

0 commit comments

Comments
 (0)