chore: include 'everyone' group in template importing (#18257)

This commit is contained in:
Steven Masley
2025-06-05 14:25:36 -05:00
committed by GitHub
parent 8a70b8d85c
commit 0428c5ec1c
3 changed files with 19 additions and 8 deletions

View File

@ -739,6 +739,9 @@ func (s *server) acquireProtoJob(ctx context.Context, job database.ProvisionerJo
Metadata: &sdkproto.Metadata{ Metadata: &sdkproto.Metadata{
CoderUrl: s.AccessURL.String(), CoderUrl: s.AccessURL.String(),
WorkspaceName: input.WorkspaceName, WorkspaceName: input.WorkspaceName,
// There is no owner for a template import, but we can assume
// the "Everyone" group as a placeholder.
WorkspaceOwnerGroups: []string{database.EveryoneGroup},
}, },
}, },
} }
@ -759,6 +762,9 @@ func (s *server) acquireProtoJob(ctx context.Context, job database.ProvisionerJo
UserVariableValues: convertVariableValues(userVariableValues), UserVariableValues: convertVariableValues(userVariableValues),
Metadata: &sdkproto.Metadata{ Metadata: &sdkproto.Metadata{
CoderUrl: s.AccessURL.String(), CoderUrl: s.AccessURL.String(),
// There is no owner for a template import, but we can assume
// the "Everyone" group as a placeholder.
WorkspaceOwnerGroups: []string{database.EveryoneGroup},
}, },
}, },
} }

View File

@ -568,8 +568,9 @@ func TestAcquireJob(t *testing.T) {
want, err := json.Marshal(&proto.AcquiredJob_TemplateDryRun_{ want, err := json.Marshal(&proto.AcquiredJob_TemplateDryRun_{
TemplateDryRun: &proto.AcquiredJob_TemplateDryRun{ TemplateDryRun: &proto.AcquiredJob_TemplateDryRun{
Metadata: &sdkproto.Metadata{ Metadata: &sdkproto.Metadata{
CoderUrl: (&url.URL{}).String(), CoderUrl: (&url.URL{}).String(),
WorkspaceName: "testing", WorkspaceName: "testing",
WorkspaceOwnerGroups: []string{database.EveryoneGroup},
}, },
}, },
}) })
@ -600,7 +601,8 @@ func TestAcquireJob(t *testing.T) {
want, err := json.Marshal(&proto.AcquiredJob_TemplateImport_{ want, err := json.Marshal(&proto.AcquiredJob_TemplateImport_{
TemplateImport: &proto.AcquiredJob_TemplateImport{ TemplateImport: &proto.AcquiredJob_TemplateImport{
Metadata: &sdkproto.Metadata{ Metadata: &sdkproto.Metadata{
CoderUrl: (&url.URL{}).String(), CoderUrl: (&url.URL{}).String(),
WorkspaceOwnerGroups: []string{database.EveryoneGroup},
}, },
}, },
}) })
@ -643,7 +645,8 @@ func TestAcquireJob(t *testing.T) {
{Name: "first", Sensitive: true, Value: "first_value"}, {Name: "first", Sensitive: true, Value: "first_value"},
}, },
Metadata: &sdkproto.Metadata{ Metadata: &sdkproto.Metadata{
CoderUrl: (&url.URL{}).String(), CoderUrl: (&url.URL{}).String(),
WorkspaceOwnerGroups: []string{database.EveryoneGroup},
}, },
}, },
}) })

View File

@ -552,8 +552,9 @@ func (r *Runner) runTemplateImport(ctx context.Context) (*proto.CompletedJob, *p
CreatedAt: time.Now().UnixMilli(), CreatedAt: time.Now().UnixMilli(),
}) })
startProvision, err := r.runTemplateImportProvision(ctx, updateResponse.VariableValues, &sdkproto.Metadata{ startProvision, err := r.runTemplateImportProvision(ctx, updateResponse.VariableValues, &sdkproto.Metadata{
CoderUrl: r.job.GetTemplateImport().Metadata.CoderUrl, CoderUrl: r.job.GetTemplateImport().Metadata.CoderUrl,
WorkspaceTransition: sdkproto.WorkspaceTransition_START, WorkspaceOwnerGroups: r.job.GetTemplateImport().Metadata.WorkspaceOwnerGroups,
WorkspaceTransition: sdkproto.WorkspaceTransition_START,
}) })
if err != nil { if err != nil {
return nil, r.failedJobf("template import provision for start: %s", err) return nil, r.failedJobf("template import provision for start: %s", err)
@ -567,8 +568,9 @@ func (r *Runner) runTemplateImport(ctx context.Context) (*proto.CompletedJob, *p
CreatedAt: time.Now().UnixMilli(), CreatedAt: time.Now().UnixMilli(),
}) })
stopProvision, err := r.runTemplateImportProvision(ctx, updateResponse.VariableValues, &sdkproto.Metadata{ stopProvision, err := r.runTemplateImportProvision(ctx, updateResponse.VariableValues, &sdkproto.Metadata{
CoderUrl: r.job.GetTemplateImport().Metadata.CoderUrl, CoderUrl: r.job.GetTemplateImport().Metadata.CoderUrl,
WorkspaceTransition: sdkproto.WorkspaceTransition_STOP, WorkspaceOwnerGroups: r.job.GetTemplateImport().Metadata.WorkspaceOwnerGroups,
WorkspaceTransition: sdkproto.WorkspaceTransition_STOP,
}) })
if err != nil { if err != nil {
return nil, r.failedJobf("template import provision for stop: %s", err) return nil, r.failedJobf("template import provision for stop: %s", err)