Skip to content

Commit 8353313

Browse files
committed
revert non-test files
1 parent c5ea297 commit 8353313

File tree

14 files changed

+74
-14
lines changed

14 files changed

+74
-14
lines changed

agent/agent.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -547,6 +547,7 @@ func (a *agent) reportMetadata(ctx context.Context, aAPI proto.DRPCAgentClient26
547547
// channel to synchronize the results and avoid both messy
548548
// mutex logic and overloading the API.
549549
for _, md := range manifest.Metadata {
550+
md := md
550551
// We send the result to the channel in the goroutine to avoid
551552
// sending the same result multiple times. So, we don't care about
552553
// the return values.
@@ -1296,6 +1297,7 @@ func (a *agent) updateCommandEnv(current []string) (updated []string, err error)
12961297
"CODER": "true",
12971298
"CODER_WORKSPACE_NAME": manifest.WorkspaceName,
12981299
"CODER_WORKSPACE_AGENT_NAME": manifest.AgentName,
1300+
"CODER_WORKSPACE_OWNER_NAME": manifest.OwnerName,
12991301

13001302
// Specific Coder subcommands require the agent token exposed!
13011303
"CODER_AGENT_TOKEN": *a.sessionToken.Load(),

agent/agentscripts/agentscripts.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,7 @@ func (r *Runner) Init(scripts []codersdk.WorkspaceAgentScript, scriptCompleted S
177177
if script.Cron == "" {
178178
continue
179179
}
180+
script := script
180181
_, err := r.cron.AddFunc(script.Cron, func() {
181182
err := r.trackRun(r.cronCtx, script.WorkspaceAgentScript, ExecuteCronScripts)
182183
if err != nil {
@@ -253,6 +254,7 @@ func (r *Runner) Execute(ctx context.Context, option ExecuteOption) error {
253254
continue
254255
}
255256

257+
script := script
256258
eg.Go(func() error {
257259
err := r.trackRun(ctx, script.WorkspaceAgentScript, option)
258260
if err != nil {

cli/organizationroles.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -435,6 +435,7 @@ func applyOrgResourceActions(role *codersdk.Role, resource string, actions []str
435435
// Construct new site perms with only new perms for the resource
436436
keep := make([]codersdk.Permission, 0)
437437
for _, perm := range role.OrganizationPermissions {
438+
perm := perm
438439
if string(perm.ResourceType) != resource {
439440
keep = append(keep, perm)
440441
}

cli/organizationsettings.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ func (r *RootCmd) setOrganizationSettings(orgContext *OrganizationContext, setti
116116
}
117117

118118
for _, set := range settings {
119+
set := set
119120
patch := set.Patch
120121
cmd.Children = append(cmd.Children, &serpent.Command{
121122
Use: set.Name,
@@ -191,6 +192,7 @@ func (r *RootCmd) printOrganizationSetting(orgContext *OrganizationContext, sett
191192
}
192193

193194
for _, set := range settings {
195+
set := set
194196
fetch := set.Fetch
195197
cmd.Children = append(cmd.Children, &serpent.Command{
196198
Use: set.Name,

cli/server.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1202,6 +1202,7 @@ func (r *RootCmd) Server(newAPI func(context.Context, *coderd.Options) (*coderd.
12021202
var wg sync.WaitGroup
12031203
for i, provisionerDaemon := range provisionerDaemons {
12041204
id := i + 1
1205+
provisionerDaemon := provisionerDaemon
12051206
wg.Add(1)
12061207
go func() {
12071208
defer wg.Done()
@@ -1679,6 +1680,7 @@ func configureServerTLS(ctx context.Context, logger slog.Logger, tlsMinVersion,
16791680

16801681
// Expensively check which certificate matches the client hello.
16811682
for _, cert := range certs {
1683+
cert := cert
16821684
if err := hi.SupportsCertificate(&cert); err == nil {
16831685
return &cert, nil
16841686
}
@@ -2310,19 +2312,20 @@ func ConnectToPostgres(ctx context.Context, logger slog.Logger, driver string, d
23102312

23112313
var err error
23122314
var sqlDB *sql.DB
2315+
dbNeedsClosing := true
23132316
// Try to connect for 30 seconds.
23142317
ctx, cancel := context.WithTimeout(ctx, 30*time.Second)
23152318
defer cancel()
23162319

23172320
defer func() {
2318-
if err == nil {
2321+
if !dbNeedsClosing {
23192322
return
23202323
}
23212324
if sqlDB != nil {
23222325
_ = sqlDB.Close()
23232326
sqlDB = nil
2327+
logger.Debug(ctx, "closed db before returning from ConnectToPostgres")
23242328
}
2325-
logger.Error(ctx, "connect to postgres failed", slog.Error(err))
23262329
}()
23272330

23282331
var tries int
@@ -2358,11 +2361,8 @@ func ConnectToPostgres(ctx context.Context, logger slog.Logger, driver string, d
23582361
return nil, xerrors.Errorf("get postgres version: %w", err)
23592362
}
23602363
defer version.Close()
2361-
if version.Err() != nil {
2362-
return nil, xerrors.Errorf("version select: %w", version.Err())
2363-
}
23642364
if !version.Next() {
2365-
return nil, xerrors.Errorf("no rows returned for version select")
2365+
return nil, xerrors.Errorf("no rows returned for version select: %w", version.Err())
23662366
}
23672367
var versionNum int
23682368
err = version.Scan(&versionNum)
@@ -2404,6 +2404,7 @@ func ConnectToPostgres(ctx context.Context, logger slog.Logger, driver string, d
24042404
// of connection churn.
24052405
sqlDB.SetMaxIdleConns(3)
24062406

2407+
dbNeedsClosing = false
24072408
return sqlDB, nil
24082409
}
24092410

coderd/database/pubsub/pubsub_memory.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ func (m *MemoryPubsub) Publish(event string, message []byte) error {
7373
var wg sync.WaitGroup
7474
for _, listener := range listeners {
7575
wg.Add(1)
76+
listener := listener
7677
go func() {
7778
defer wg.Done()
7879
listener.send(context.Background(), message)

coderd/externalauth/externalauth.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -505,6 +505,8 @@ func ConvertConfig(instrument *promoauth.Factory, entries []codersdk.ExternalAut
505505
ids := map[string]struct{}{}
506506
configs := []*Config{}
507507
for _, entry := range entries {
508+
entry := entry
509+
508510
// Applies defaults to the config entry.
509511
// This allows users to very simply state that they type is "GitHub",
510512
// apply their client secret and ID, and have the UI appear nicely.

coderd/idpsync/group.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ func (s AGPLIDPSync) SyncGroups(ctx context.Context, db database.Store, user dat
9999
// membership via the groups the user is in.
100100
userOrgs := make(map[uuid.UUID][]database.GetGroupsRow)
101101
for _, g := range userGroups {
102+
g := g
102103
userOrgs[g.Group.OrganizationID] = append(userOrgs[g.Group.OrganizationID], g)
103104
}
104105

@@ -336,6 +337,8 @@ func (s GroupSyncSettings) ParseClaims(orgID uuid.UUID, mergedClaims jwt.MapClai
336337

337338
groups := make([]ExpectedGroup, 0)
338339
for _, group := range parsedGroups {
340+
group := group
341+
339342
// Legacy group mappings happen before the regex filter.
340343
mappedGroupName, ok := s.LegacyNameMapping[group]
341344
if ok {
@@ -352,6 +355,7 @@ func (s GroupSyncSettings) ParseClaims(orgID uuid.UUID, mergedClaims jwt.MapClai
352355
mappedGroupIDs, ok := s.Mapping[group]
353356
if ok {
354357
for _, gid := range mappedGroupIDs {
358+
gid := gid
355359
groups = append(groups, ExpectedGroup{OrganizationID: orgID, GroupID: &gid})
356360
}
357361
continue

coderd/rbac/authz.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -760,6 +760,7 @@ func rbacTraceAttributes(actor Subject, action policy.Action, objectType string,
760760
uniqueRoleNames := actor.SafeRoleNames()
761761
roleStrings := make([]string, 0, len(uniqueRoleNames))
762762
for _, roleName := range uniqueRoleNames {
763+
roleName := roleName
763764
roleStrings = append(roleStrings, roleName.String())
764765
}
765766
return trace.WithAttributes(

coderd/rbac/roles.go

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -270,11 +270,15 @@ func ReloadBuiltinRoles(opts *RoleOptions) {
270270
Site: append(
271271
// Workspace dormancy and workspace are omitted.
272272
// Workspace is specifically handled based on the opts.NoOwnerWorkspaceExec
273-
allPermsExcept(ResourceWorkspaceDormant, ResourceWorkspace),
273+
allPermsExcept(ResourceWorkspaceDormant, ResourcePrebuiltWorkspace, ResourceWorkspace),
274274
// This adds back in the Workspace permissions.
275275
Permissions(map[string][]policy.Action{
276276
ResourceWorkspace.Type: ownerWorkspaceActions,
277277
ResourceWorkspaceDormant.Type: {policy.ActionRead, policy.ActionDelete, policy.ActionCreate, policy.ActionUpdate, policy.ActionWorkspaceStop, policy.ActionCreateAgent, policy.ActionDeleteAgent},
278+
// PrebuiltWorkspaces are a subset of Workspaces.
279+
// Explicitly setting PrebuiltWorkspace permissions for clarity.
280+
// Note: even without PrebuiltWorkspace permissions, access is still granted via Workspace permissions.
281+
ResourcePrebuiltWorkspace.Type: {policy.ActionUpdate, policy.ActionDelete},
278282
})...),
279283
Org: map[string][]Permission{},
280284
User: []Permission{},
@@ -290,7 +294,7 @@ func ReloadBuiltinRoles(opts *RoleOptions) {
290294
ResourceWorkspaceProxy.Type: {policy.ActionRead},
291295
}),
292296
Org: map[string][]Permission{},
293-
User: append(allPermsExcept(ResourceWorkspaceDormant, ResourceUser, ResourceOrganizationMember),
297+
User: append(allPermsExcept(ResourceWorkspaceDormant, ResourcePrebuiltWorkspace, ResourceUser, ResourceOrganizationMember),
294298
Permissions(map[string][]policy.Action{
295299
// Reduced permission set on dormant workspaces. No build, ssh, or exec
296300
ResourceWorkspaceDormant.Type: {policy.ActionRead, policy.ActionDelete, policy.ActionCreate, policy.ActionUpdate, policy.ActionWorkspaceStop, policy.ActionCreateAgent, policy.ActionDeleteAgent},
@@ -335,8 +339,9 @@ func ReloadBuiltinRoles(opts *RoleOptions) {
335339
ResourceAssignOrgRole.Type: {policy.ActionRead},
336340
ResourceTemplate.Type: ResourceTemplate.AvailableActions(),
337341
// CRUD all files, even those they did not upload.
338-
ResourceFile.Type: {policy.ActionCreate, policy.ActionRead},
339-
ResourceWorkspace.Type: {policy.ActionRead},
342+
ResourceFile.Type: {policy.ActionCreate, policy.ActionRead},
343+
ResourceWorkspace.Type: {policy.ActionRead},
344+
ResourcePrebuiltWorkspace.Type: {policy.ActionUpdate, policy.ActionDelete},
340345
// CRUD to provisioner daemons for now.
341346
ResourceProvisionerDaemon.Type: {policy.ActionCreate, policy.ActionRead, policy.ActionUpdate, policy.ActionDelete},
342347
// Needs to read all organizations since
@@ -413,9 +418,13 @@ func ReloadBuiltinRoles(opts *RoleOptions) {
413418
}),
414419
Org: map[string][]Permission{
415420
// Org admins should not have workspace exec perms.
416-
organizationID.String(): append(allPermsExcept(ResourceWorkspace, ResourceWorkspaceDormant, ResourceAssignRole), Permissions(map[string][]policy.Action{
421+
organizationID.String(): append(allPermsExcept(ResourceWorkspace, ResourceWorkspaceDormant, ResourcePrebuiltWorkspace, ResourceAssignRole), Permissions(map[string][]policy.Action{
417422
ResourceWorkspaceDormant.Type: {policy.ActionRead, policy.ActionDelete, policy.ActionCreate, policy.ActionUpdate, policy.ActionWorkspaceStop, policy.ActionCreateAgent, policy.ActionDeleteAgent},
418423
ResourceWorkspace.Type: slice.Omit(ResourceWorkspace.AvailableActions(), policy.ActionApplicationConnect, policy.ActionSSH),
424+
// PrebuiltWorkspaces are a subset of Workspaces.
425+
// Explicitly setting PrebuiltWorkspace permissions for clarity.
426+
// Note: even without PrebuiltWorkspace permissions, access is still granted via Workspace permissions.
427+
ResourcePrebuiltWorkspace.Type: {policy.ActionUpdate, policy.ActionDelete},
419428
})...),
420429
},
421430
User: []Permission{},
@@ -493,9 +502,10 @@ func ReloadBuiltinRoles(opts *RoleOptions) {
493502
Site: []Permission{},
494503
Org: map[string][]Permission{
495504
organizationID.String(): Permissions(map[string][]policy.Action{
496-
ResourceTemplate.Type: ResourceTemplate.AvailableActions(),
497-
ResourceFile.Type: {policy.ActionCreate, policy.ActionRead},
498-
ResourceWorkspace.Type: {policy.ActionRead},
505+
ResourceTemplate.Type: ResourceTemplate.AvailableActions(),
506+
ResourceFile.Type: {policy.ActionCreate, policy.ActionRead},
507+
ResourceWorkspace.Type: {policy.ActionRead},
508+
ResourcePrebuiltWorkspace.Type: {policy.ActionUpdate, policy.ActionDelete},
499509
// Assigning template perms requires this permission.
500510
ResourceOrganization.Type: {policy.ActionRead},
501511
ResourceOrganizationMember.Type: {policy.ActionRead},
@@ -837,6 +847,7 @@ func Permissions(perms map[string][]policy.Action) []Permission {
837847
list := make([]Permission, 0, len(perms))
838848
for k, actions := range perms {
839849
for _, act := range actions {
850+
act := act
840851
list = append(list, Permission{
841852
Negate: false,
842853
ResourceType: k,

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy