diff --git a/coderd/provisionerdserver/provisionerdserver.go b/coderd/provisionerdserver/provisionerdserver.go index 111f4185d3910..31165cf89f65b 100644 --- a/coderd/provisionerdserver/provisionerdserver.go +++ b/coderd/provisionerdserver/provisionerdserver.go @@ -739,6 +739,9 @@ func (s *server) acquireProtoJob(ctx context.Context, job database.ProvisionerJo Metadata: &sdkproto.Metadata{ CoderUrl: s.AccessURL.String(), 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), Metadata: &sdkproto.Metadata{ 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}, }, }, } diff --git a/coderd/provisionerdserver/provisionerdserver_test.go b/coderd/provisionerdserver/provisionerdserver_test.go index 1756aa68e15fc..67fb267fb4c23 100644 --- a/coderd/provisionerdserver/provisionerdserver_test.go +++ b/coderd/provisionerdserver/provisionerdserver_test.go @@ -568,8 +568,9 @@ func TestAcquireJob(t *testing.T) { want, err := json.Marshal(&proto.AcquiredJob_TemplateDryRun_{ TemplateDryRun: &proto.AcquiredJob_TemplateDryRun{ Metadata: &sdkproto.Metadata{ - CoderUrl: (&url.URL{}).String(), - WorkspaceName: "testing", + CoderUrl: (&url.URL{}).String(), + WorkspaceName: "testing", + WorkspaceOwnerGroups: []string{database.EveryoneGroup}, }, }, }) @@ -600,7 +601,8 @@ func TestAcquireJob(t *testing.T) { want, err := json.Marshal(&proto.AcquiredJob_TemplateImport_{ TemplateImport: &proto.AcquiredJob_TemplateImport{ 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"}, }, Metadata: &sdkproto.Metadata{ - CoderUrl: (&url.URL{}).String(), + CoderUrl: (&url.URL{}).String(), + WorkspaceOwnerGroups: []string{database.EveryoneGroup}, }, }, }) diff --git a/provisionerd/runner/runner.go b/provisionerd/runner/runner.go index ed1f134556fba..2894dadb8ff0a 100644 --- a/provisionerd/runner/runner.go +++ b/provisionerd/runner/runner.go @@ -552,8 +552,9 @@ func (r *Runner) runTemplateImport(ctx context.Context) (*proto.CompletedJob, *p CreatedAt: time.Now().UnixMilli(), }) startProvision, err := r.runTemplateImportProvision(ctx, updateResponse.VariableValues, &sdkproto.Metadata{ - CoderUrl: r.job.GetTemplateImport().Metadata.CoderUrl, - WorkspaceTransition: sdkproto.WorkspaceTransition_START, + CoderUrl: r.job.GetTemplateImport().Metadata.CoderUrl, + WorkspaceOwnerGroups: r.job.GetTemplateImport().Metadata.WorkspaceOwnerGroups, + WorkspaceTransition: sdkproto.WorkspaceTransition_START, }) if err != nil { 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(), }) stopProvision, err := r.runTemplateImportProvision(ctx, updateResponse.VariableValues, &sdkproto.Metadata{ - CoderUrl: r.job.GetTemplateImport().Metadata.CoderUrl, - WorkspaceTransition: sdkproto.WorkspaceTransition_STOP, + CoderUrl: r.job.GetTemplateImport().Metadata.CoderUrl, + WorkspaceOwnerGroups: r.job.GetTemplateImport().Metadata.WorkspaceOwnerGroups, + WorkspaceTransition: sdkproto.WorkspaceTransition_STOP, }) if err != nil { return nil, r.failedJobf("template import provision for stop: %s", err)