Skip to content

Commit 391fe74

Browse files
committed
feat: add proxysdk and proxy tokeng
1 parent 5fc7832 commit 391fe74

25 files changed

+881
-98
lines changed

coderd/apidoc/docs.go

Lines changed: 131 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/apidoc/swagger.json

Lines changed: 123 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/dbauthz/querier_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -445,25 +445,25 @@ func (s *MethodTestSuite) TestWorkspaceProxy() {
445445
}).Asserts(rbac.ResourceWorkspaceProxy, rbac.ActionCreate)
446446
}))
447447
s.Run("UpdateWorkspaceProxy", s.Subtest(func(db database.Store, check *expects) {
448-
p := dbgen.WorkspaceProxy(s.T(), db, database.WorkspaceProxy{})
448+
_, p := dbgen.WorkspaceProxy(s.T(), db, database.WorkspaceProxy{})
449449
check.Args(database.UpdateWorkspaceProxyParams{
450450
ID: p.ID,
451451
}).Asserts(p, rbac.ActionUpdate)
452452
}))
453453
s.Run("GetWorkspaceProxyByID", s.Subtest(func(db database.Store, check *expects) {
454-
p := dbgen.WorkspaceProxy(s.T(), db, database.WorkspaceProxy{})
454+
_, p := dbgen.WorkspaceProxy(s.T(), db, database.WorkspaceProxy{})
455455
check.Args(p.ID).Asserts(p, rbac.ActionRead).Returns(p)
456456
}))
457457
s.Run("UpdateWorkspaceProxyDeleted", s.Subtest(func(db database.Store, check *expects) {
458-
p := dbgen.WorkspaceProxy(s.T(), db, database.WorkspaceProxy{})
458+
_, p := dbgen.WorkspaceProxy(s.T(), db, database.WorkspaceProxy{})
459459
check.Args(database.UpdateWorkspaceProxyDeletedParams{
460460
ID: p.ID,
461461
Deleted: true,
462462
}).Asserts(p, rbac.ActionDelete)
463463
}))
464464
s.Run("GetWorkspaceProxies", s.Subtest(func(db database.Store, check *expects) {
465-
p1 := dbgen.WorkspaceProxy(s.T(), db, database.WorkspaceProxy{})
466-
p2 := dbgen.WorkspaceProxy(s.T(), db, database.WorkspaceProxy{})
465+
_, p1 := dbgen.WorkspaceProxy(s.T(), db, database.WorkspaceProxy{})
466+
_, p2 := dbgen.WorkspaceProxy(s.T(), db, database.WorkspaceProxy{})
467467
check.Args().Asserts(p1, rbac.ActionRead, p2, rbac.ActionRead).Returns(slice.New(p1, p2))
468468
}))
469469
}

coderd/database/dbfake/databasefake.go

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5032,14 +5032,16 @@ func (q *fakeQuerier) InsertWorkspaceProxy(_ context.Context, arg database.Inser
50325032
}
50335033

50345034
p := database.WorkspaceProxy{
5035-
ID: arg.ID,
5036-
Name: arg.Name,
5037-
Icon: arg.Icon,
5038-
Url: arg.Url,
5039-
WildcardHostname: arg.WildcardHostname,
5040-
CreatedAt: arg.CreatedAt,
5041-
UpdatedAt: arg.UpdatedAt,
5042-
Deleted: false,
5035+
ID: arg.ID,
5036+
Name: arg.Name,
5037+
DisplayName: arg.DisplayName,
5038+
Icon: arg.Icon,
5039+
Url: arg.Url,
5040+
WildcardHostname: arg.WildcardHostname,
5041+
TokenHashedSecret: arg.TokenHashedSecret,
5042+
CreatedAt: arg.CreatedAt,
5043+
UpdatedAt: arg.UpdatedAt,
5044+
Deleted: false,
50435045
}
50445046
q.workspaceProxies = append(q.workspaceProxies, p)
50455047
return p, nil

coderd/database/dbgen/generator.go

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -338,19 +338,24 @@ func WorkspaceResourceMetadatums(t testing.TB, db database.Store, seed database.
338338
return meta
339339
}
340340

341-
func WorkspaceProxy(t testing.TB, db database.Store, orig database.WorkspaceProxy) database.WorkspaceProxy {
341+
func WorkspaceProxy(t testing.TB, db database.Store, orig database.WorkspaceProxy) (string, database.WorkspaceProxy) {
342+
secret, err := cryptorand.HexString(64)
343+
require.NoError(t, err, "generate secret")
344+
hashedSecret := sha256.Sum256([]byte(secret))
345+
342346
resource, err := db.InsertWorkspaceProxy(context.Background(), database.InsertWorkspaceProxyParams{
343-
ID: takeFirst(orig.ID, uuid.New()),
344-
Name: takeFirst(orig.Name, namesgenerator.GetRandomName(1)),
345-
DisplayName: takeFirst(orig.DisplayName, namesgenerator.GetRandomName(1)),
346-
Icon: takeFirst(orig.Icon, namesgenerator.GetRandomName(1)),
347-
Url: takeFirst(orig.Url, fmt.Sprintf("https://%s.com", namesgenerator.GetRandomName(1))),
348-
WildcardHostname: takeFirst(orig.WildcardHostname, fmt.Sprintf(".%s.com", namesgenerator.GetRandomName(1))),
349-
CreatedAt: takeFirst(orig.CreatedAt, database.Now()),
350-
UpdatedAt: takeFirst(orig.UpdatedAt, database.Now()),
347+
ID: takeFirst(orig.ID, uuid.New()),
348+
Name: takeFirst(orig.Name, namesgenerator.GetRandomName(1)),
349+
DisplayName: takeFirst(orig.DisplayName, namesgenerator.GetRandomName(1)),
350+
Icon: takeFirst(orig.Icon, namesgenerator.GetRandomName(1)),
351+
Url: takeFirst(orig.Url, fmt.Sprintf("https://%s.com", namesgenerator.GetRandomName(1))),
352+
WildcardHostname: takeFirst(orig.WildcardHostname, fmt.Sprintf("*.%s.com", namesgenerator.GetRandomName(1))),
353+
TokenHashedSecret: hashedSecret[:],
354+
CreatedAt: takeFirst(orig.CreatedAt, database.Now()),
355+
UpdatedAt: takeFirst(orig.UpdatedAt, database.Now()),
351356
})
352357
require.NoError(t, err, "insert app")
353-
return resource
358+
return secret, resource
354359
}
355360

356361
func File(t testing.TB, db database.Store, orig database.File) database.File {

coderd/database/dbgen/generator_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,8 @@ func TestGenerator(t *testing.T) {
7878
t.Run("WorkspaceProxy", func(t *testing.T) {
7979
t.Parallel()
8080
db := dbfake.New()
81-
exp := dbgen.WorkspaceProxy(t, db, database.WorkspaceProxy{})
81+
secret, exp := dbgen.WorkspaceProxy(t, db, database.WorkspaceProxy{})
82+
require.Len(t, secret, 64)
8283
require.Equal(t, exp, must(db.GetWorkspaceProxyByID(context.Background(), exp.ID)))
8384
})
8485

0 commit comments

Comments
 (0)