Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit60d5002

Browse files
authored
refactor: change template archive extraction to be on provisioner (#9264)
* refactor provisionersdk protocolSigned-off-by: Spike Curtis <spike@coder.com>* refactor provisioners to use new protocolSigned-off-by: Spike Curtis <spike@coder.com>* refactor provisionerd to use new protocolSigned-off-by: Spike Curtis <spike@coder.com>* refactor tests & proto renames* Fixes from self-reviewSigned-off-by: Spike Curtis <spike@coder.com>* appease fmt & linkSigned-off-by: Spike Curtis <spike@coder.com>* code review fixes & e2e fixesSigned-off-by: Spike Curtis <spike@coder.com>* More fmtSigned-off-by: Spike Curtis <spike@coder.com>* Code review fixesSigned-off-by: Spike Curtis <spike@coder.com>* new gen; use uuid for session workdirSigned-off-by: Spike Curtis <spike@coder.com>* Revert nix-based gen CI task until dogfood is on nixSigned-off-by: Spike Curtis <spike@coder.com>* revert deleting dogfood Docker stuffSigned-off-by: Spike Curtis <spike@coder.com>* Revert "revert deleting dogfood Docker stuff"This reverts commit9762158.---------Signed-off-by: Spike Curtis <spike@coder.com>
1 parent4bed492 commit60d5002

File tree

77 files changed

+3426
-3462
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+3426
-3462
lines changed

‎Makefile‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -456,10 +456,10 @@ DB_GEN_FILES := \
456456

457457
# all gen targets should be added here and to gen/mark-fresh
458458
gen:\
459-
coderd/database/dump.sql\
460-
$(DB_GEN_FILES)\
461459
provisionersdk/proto/provisioner.pb.go\
462460
provisionerd/proto/provisionerd.pb.go\
461+
coderd/database/dump.sql\
462+
$(DB_GEN_FILES)\
463463
site/src/api/typesGenerated.ts\
464464
coderd/rbac/object_gen.go\
465465
docs/admin/prometheus.md\
@@ -478,10 +478,10 @@ gen: \
478478
# used during releases so we don't run generation scripts.
479479
gen/mark-fresh:
480480
files="\
481-
coderd/database/dump.sql\
482-
$(DB_GEN_FILES)\
483481
provisionersdk/proto/provisioner.pb.go\
484482
provisionerd/proto/provisionerd.pb.go\
483+
coderd/database/dump.sql\
484+
$(DB_GEN_FILES)\
485485
site/src/api/typesGenerated.ts\
486486
coderd/rbac/object_gen.go\
487487
docs/admin/prometheus.md\

‎cli/agent_test.go‎

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,9 @@ func TestWorkspaceAgent(t *testing.T) {
7575
user:=coderdtest.CreateFirstUser(t,client)
7676
version:=coderdtest.CreateTemplateVersion(t,client,user.OrganizationID,&echo.Responses{
7777
Parse:echo.ParseComplete,
78-
ProvisionApply: []*proto.Provision_Response{{
79-
Type:&proto.Provision_Response_Complete{
80-
Complete:&proto.Provision_Complete{
78+
ProvisionApply: []*proto.Response{{
79+
Type:&proto.Response_Apply{
80+
Apply:&proto.ApplyComplete{
8181
Resources: []*proto.Resource{{
8282
Name:"somename",
8383
Type:"someinstance",
@@ -127,9 +127,9 @@ func TestWorkspaceAgent(t *testing.T) {
127127
user:=coderdtest.CreateFirstUser(t,client)
128128
version:=coderdtest.CreateTemplateVersion(t,client,user.OrganizationID,&echo.Responses{
129129
Parse:echo.ParseComplete,
130-
ProvisionApply: []*proto.Provision_Response{{
131-
Type:&proto.Provision_Response_Complete{
132-
Complete:&proto.Provision_Complete{
130+
ProvisionApply: []*proto.Response{{
131+
Type:&proto.Response_Apply{
132+
Apply:&proto.ApplyComplete{
133133
Resources: []*proto.Resource{{
134134
Name:"somename",
135135
Type:"someinstance",
@@ -179,9 +179,9 @@ func TestWorkspaceAgent(t *testing.T) {
179179
user:=coderdtest.CreateFirstUser(t,client)
180180
version:=coderdtest.CreateTemplateVersion(t,client,user.OrganizationID,&echo.Responses{
181181
Parse:echo.ParseComplete,
182-
ProvisionApply: []*proto.Provision_Response{{
183-
Type:&proto.Provision_Response_Complete{
184-
Complete:&proto.Provision_Complete{
182+
ProvisionApply: []*proto.Response{{
183+
Type:&proto.Response_Apply{
184+
Apply:&proto.ApplyComplete{
185185
Resources: []*proto.Resource{{
186186
Name:"somename",
187187
Type:"someinstance",

‎cli/configssh_test.go‎

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,9 @@ func TestConfigSSH(t *testing.T) {
8282
authToken:=uuid.NewString()
8383
version:=coderdtest.CreateTemplateVersion(t,client,user.OrganizationID,&echo.Responses{
8484
Parse:echo.ParseComplete,
85-
ProvisionPlan: []*proto.Provision_Response{{
86-
Type:&proto.Provision_Response_Complete{
87-
Complete:&proto.Provision_Complete{
85+
ProvisionPlan: []*proto.Response{{
86+
Type:&proto.Response_Plan{
87+
Plan:&proto.PlanComplete{
8888
Resources: []*proto.Resource{{
8989
Name:"example",
9090
Type:"aws_instance",
@@ -720,22 +720,11 @@ func TestConfigSSH_Hostnames(t *testing.T) {
720720
resources=append(resources,resource)
721721
}
722722

723-
provisionResponse:= []*proto.Provision_Response{{
724-
Type:&proto.Provision_Response_Complete{
725-
Complete:&proto.Provision_Complete{
726-
Resources:resources,
727-
},
728-
},
729-
}}
730-
731723
client:=coderdtest.New(t,&coderdtest.Options{IncludeProvisionerDaemon:true})
732724
user:=coderdtest.CreateFirstUser(t,client)
733725
// authToken := uuid.NewString()
734-
version:=coderdtest.CreateTemplateVersion(t,client,user.OrganizationID,&echo.Responses{
735-
Parse:echo.ParseComplete,
736-
ProvisionPlan:provisionResponse,
737-
ProvisionApply:provisionResponse,
738-
})
726+
version:=coderdtest.CreateTemplateVersion(t,client,user.OrganizationID,
727+
echo.WithResources(resources))
739728
coderdtest.AwaitTemplateVersionJob(t,client,version.ID)
740729
template:=coderdtest.CreateTemplate(t,client,user.OrganizationID,version.ID)
741730
workspace:=coderdtest.CreateWorkspace(t,client,user.OrganizationID,template.ID)

‎cli/create_test.go‎

Lines changed: 29 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,7 @@ func TestCreate(t *testing.T) {
2929
t.Parallel()
3030
client:=coderdtest.New(t,&coderdtest.Options{IncludeProvisionerDaemon:true})
3131
user:=coderdtest.CreateFirstUser(t,client)
32-
version:=coderdtest.CreateTemplateVersion(t,client,user.OrganizationID,&echo.Responses{
33-
Parse:echo.ParseComplete,
34-
ProvisionApply:provisionCompleteWithAgent,
35-
ProvisionPlan:provisionCompleteWithAgent,
36-
})
32+
version:=coderdtest.CreateTemplateVersion(t,client,user.OrganizationID,completeWithAgent())
3733
coderdtest.AwaitTemplateVersionJob(t,client,version.ID)
3834
template:=coderdtest.CreateTemplate(t,client,user.OrganizationID,version.ID)
3935
args:= []string{
@@ -84,11 +80,7 @@ func TestCreate(t *testing.T) {
8480
t.Parallel()
8581
client:=coderdtest.New(t,&coderdtest.Options{IncludeProvisionerDaemon:true})
8682
owner:=coderdtest.CreateFirstUser(t,client)
87-
version:=coderdtest.CreateTemplateVersion(t,client,owner.OrganizationID,&echo.Responses{
88-
Parse:echo.ParseComplete,
89-
ProvisionApply:provisionCompleteWithAgent,
90-
ProvisionPlan:provisionCompleteWithAgent,
91-
})
83+
version:=coderdtest.CreateTemplateVersion(t,client,owner.OrganizationID,completeWithAgent())
9284
coderdtest.AwaitTemplateVersionJob(t,client,version.ID)
9385
template:=coderdtest.CreateTemplate(t,client,owner.OrganizationID,version.ID)
9486
_,user:=coderdtest.CreateAnotherUser(t,client,owner.OrganizationID)
@@ -141,11 +133,7 @@ func TestCreate(t *testing.T) {
141133
t.Parallel()
142134
client:=coderdtest.New(t,&coderdtest.Options{IncludeProvisionerDaemon:true})
143135
user:=coderdtest.CreateFirstUser(t,client)
144-
version:=coderdtest.CreateTemplateVersion(t,client,user.OrganizationID,&echo.Responses{
145-
Parse:echo.ParseComplete,
146-
ProvisionApply:provisionCompleteWithAgent,
147-
ProvisionPlan:provisionCompleteWithAgent,
148-
})
136+
version:=coderdtest.CreateTemplateVersion(t,client,user.OrganizationID,completeWithAgent())
149137
coderdtest.AwaitTemplateVersionJob(t,client,version.ID)
150138
template:=coderdtest.CreateTemplate(t,client,user.OrganizationID,version.ID,func(ctr*codersdk.CreateTemplateRequest) {
151139
vardefaultTTLMillisint64=2*60*60*1000// 2 hours
@@ -240,6 +228,22 @@ func TestCreate(t *testing.T) {
240228
})
241229
}
242230

231+
funcprepareEchoResponses(parameters []*proto.RichParameter)*echo.Responses {
232+
return&echo.Responses{
233+
Parse:echo.ParseComplete,
234+
ProvisionPlan: []*proto.Response{
235+
{
236+
Type:&proto.Response_Plan{
237+
Plan:&proto.PlanComplete{
238+
Parameters:parameters,
239+
},
240+
},
241+
},
242+
},
243+
ProvisionApply:echo.ApplyComplete,
244+
}
245+
}
246+
243247
funcTestCreateWithRichParameters(t*testing.T) {
244248
t.Parallel()
245249

@@ -258,27 +262,12 @@ func TestCreateWithRichParameters(t *testing.T) {
258262
immutableParameterValue="4"
259263
)
260264

261-
echoResponses:=&echo.Responses{
262-
Parse:echo.ParseComplete,
263-
ProvisionPlan: []*proto.Provision_Response{
264-
{
265-
Type:&proto.Provision_Response_Complete{
266-
Complete:&proto.Provision_Complete{
267-
Parameters: []*proto.RichParameter{
268-
{Name:firstParameterName,Description:firstParameterDescription,Mutable:true},
269-
{Name:secondParameterName,DisplayName:secondParameterDisplayName,Description:secondParameterDescription,Mutable:true},
270-
{Name:immutableParameterName,Description:immutableParameterDescription,Mutable:false},
271-
},
272-
},
273-
},
274-
},
275-
},
276-
ProvisionApply: []*proto.Provision_Response{{
277-
Type:&proto.Provision_Response_Complete{
278-
Complete:&proto.Provision_Complete{},
279-
},
280-
}},
281-
}
265+
echoResponses:=prepareEchoResponses([]*proto.RichParameter{
266+
{Name:firstParameterName,Description:firstParameterDescription,Mutable:true},
267+
{Name:secondParameterName,DisplayName:secondParameterDisplayName,Description:secondParameterDescription,Mutable:true},
268+
{Name:immutableParameterName,Description:immutableParameterDescription,Mutable:false},
269+
},
270+
)
282271

283272
t.Run("InputParameters",func(t*testing.T) {
284273
t.Parallel()
@@ -427,28 +416,6 @@ func TestCreateValidateRichParameters(t *testing.T) {
427416
{Name:boolParameterName,Type:"bool",Mutable:true},
428417
}
429418

430-
prepareEchoResponses:=func(richParameters []*proto.RichParameter)*echo.Responses {
431-
return&echo.Responses{
432-
Parse:echo.ParseComplete,
433-
ProvisionPlan: []*proto.Provision_Response{
434-
{
435-
Type:&proto.Provision_Response_Complete{
436-
Complete:&proto.Provision_Complete{
437-
Parameters:richParameters,
438-
},
439-
},
440-
},
441-
},
442-
ProvisionApply: []*proto.Provision_Response{
443-
{
444-
Type:&proto.Provision_Response_Complete{
445-
Complete:&proto.Provision_Complete{},
446-
},
447-
},
448-
},
449-
}
450-
}
451-
452419
t.Run("ValidateString",func(t*testing.T) {
453420
t.Parallel()
454421

@@ -626,20 +593,16 @@ func TestCreateWithGitAuth(t *testing.T) {
626593
t.Parallel()
627594
echoResponses:=&echo.Responses{
628595
Parse:echo.ParseComplete,
629-
ProvisionPlan: []*proto.Provision_Response{
596+
ProvisionPlan: []*proto.Response{
630597
{
631-
Type:&proto.Provision_Response_Complete{
632-
Complete:&proto.Provision_Complete{
598+
Type:&proto.Response_Plan{
599+
Plan:&proto.PlanComplete{
633600
GitAuthProviders: []string{"github"},
634601
},
635602
},
636603
},
637604
},
638-
ProvisionApply: []*proto.Provision_Response{{
639-
Type:&proto.Provision_Response_Complete{
640-
Complete:&proto.Provision_Complete{},
641-
},
642-
}},
605+
ProvisionApply:echo.ApplyComplete,
643606
}
644607

645608
client:=coderdtest.New(t,&coderdtest.Options{

‎cli/gitssh_test.go‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ func prepareTestGitSSH(ctx context.Context, t *testing.T) (*codersdk.Client, str
4848
agentToken:=uuid.NewString()
4949
version:=coderdtest.CreateTemplateVersion(t,client,user.OrganizationID,&echo.Responses{
5050
Parse:echo.ParseComplete,
51-
ProvisionPlan:echo.ProvisionComplete,
51+
ProvisionPlan:echo.PlanComplete,
5252
ProvisionApply:echo.ProvisionApplyWithAgent(agentToken),
5353
})
5454
template:=coderdtest.CreateTemplate(t,client,user.OrganizationID,version.ID)

‎cli/portforward_test.go‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ func runAgent(t *testing.T, client *codersdk.Client, userID uuid.UUID) codersdk.
302302
agentToken:=uuid.NewString()
303303
version:=coderdtest.CreateTemplateVersion(t,client,orgID,&echo.Responses{
304304
Parse:echo.ParseComplete,
305-
ProvisionPlan:echo.ProvisionComplete,
305+
ProvisionPlan:echo.PlanComplete,
306306
ProvisionApply:echo.ProvisionApplyWithAgent(agentToken),
307307
})
308308

‎cli/restart_test.go‎

Lines changed: 11 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -20,30 +20,14 @@ import (
2020
funcTestRestart(t*testing.T) {
2121
t.Parallel()
2222

23-
echoResponses:=&echo.Responses{
24-
Parse:echo.ParseComplete,
25-
ProvisionPlan: []*proto.Provision_Response{
26-
{
27-
Type:&proto.Provision_Response_Complete{
28-
Complete:&proto.Provision_Complete{
29-
Parameters: []*proto.RichParameter{
30-
{
31-
Name:ephemeralParameterName,
32-
Description:ephemeralParameterDescription,
33-
Mutable:true,
34-
Ephemeral:true,
35-
},
36-
},
37-
},
38-
},
39-
},
23+
echoResponses:=prepareEchoResponses([]*proto.RichParameter{
24+
{
25+
Name:ephemeralParameterName,
26+
Description:ephemeralParameterDescription,
27+
Mutable:true,
28+
Ephemeral:true,
4029
},
41-
ProvisionApply: []*proto.Provision_Response{{
42-
Type:&proto.Provision_Response_Complete{
43-
Complete:&proto.Provision_Complete{},
44-
},
45-
}},
46-
}
30+
})
4731

4832
t.Run("OK",func(t*testing.T) {
4933
t.Parallel()
@@ -187,10 +171,10 @@ func TestRestartWithParameters(t *testing.T) {
187171

188172
echoResponses:=&echo.Responses{
189173
Parse:echo.ParseComplete,
190-
ProvisionPlan: []*proto.Provision_Response{
174+
ProvisionPlan: []*proto.Response{
191175
{
192-
Type:&proto.Provision_Response_Complete{
193-
Complete:&proto.Provision_Complete{
176+
Type:&proto.Response_Plan{
177+
Plan:&proto.PlanComplete{
194178
Parameters: []*proto.RichParameter{
195179
{
196180
Name:immutableParameterName,
@@ -202,11 +186,7 @@ func TestRestartWithParameters(t *testing.T) {
202186
},
203187
},
204188
},
205-
ProvisionApply: []*proto.Provision_Response{{
206-
Type:&proto.Provision_Response_Complete{
207-
Complete:&proto.Provision_Complete{},
208-
},
209-
}},
189+
ProvisionApply:echo.ApplyComplete,
210190
}
211191

212192
t.Run("DoNotAskForImmutables",func(t*testing.T) {

‎cli/server.go‎

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ import (
4141
"github.com/prometheus/client_golang/prometheus"
4242
"github.com/prometheus/client_golang/prometheus/collectors"
4343
"github.com/prometheus/client_golang/prometheus/promhttp"
44-
"github.com/spf13/afero"
4544
"go.opentelemetry.io/otel/trace"
4645
"golang.org/x/mod/semver"
4746
"golang.org/x/oauth2"
@@ -1304,7 +1303,11 @@ func newProvisionerDaemon(
13041303
deferwg.Done()
13051304
defercancel()
13061305

1307-
err:=echo.Serve(ctx,afero.NewOsFs(),&provisionersdk.ServeOptions{Listener:echoServer})
1306+
err:=echo.Serve(ctx,&provisionersdk.ServeOptions{
1307+
Listener:echoServer,
1308+
WorkDirectory:workDir,
1309+
Logger:logger.Named("echo"),
1310+
})
13081311
iferr!=nil {
13091312
select {
13101313
caseerrCh<-err:
@@ -1336,10 +1339,11 @@ func newProvisionerDaemon(
13361339

13371340
err:=terraform.Serve(ctx,&terraform.ServeOptions{
13381341
ServeOptions:&provisionersdk.ServeOptions{
1339-
Listener:terraformServer,
1342+
Listener:terraformServer,
1343+
Logger:logger.Named("terraform"),
1344+
WorkDirectory:workDir,
13401345
},
13411346
CachePath:tfDir,
1342-
Logger:logger.Named("terraform"),
13431347
Tracer:tracer,
13441348
})
13451349
iferr!=nil&&!xerrors.Is(err,context.Canceled) {
@@ -1366,7 +1370,6 @@ func newProvisionerDaemon(
13661370
UpdateInterval:time.Second,
13671371
ForceCancelInterval:cfg.Provisioner.ForceCancelInterval.Value(),
13681372
Provisioners:provisioners,
1369-
WorkDirectory:workDir,
13701373
TracerProvider:coderAPI.TracerProvider,
13711374
Metrics:&metrics,
13721375
}),nil

‎cli/show_test.go‎

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import (
77

88
"github.com/coder/coder/v2/cli/clitest"
99
"github.com/coder/coder/v2/coderd/coderdtest"
10-
"github.com/coder/coder/v2/provisioner/echo"
1110
"github.com/coder/coder/v2/pty/ptytest"
1211
)
1312

@@ -17,11 +16,7 @@ func TestShow(t *testing.T) {
1716
t.Parallel()
1817
client:=coderdtest.New(t,&coderdtest.Options{IncludeProvisionerDaemon:true})
1918
user:=coderdtest.CreateFirstUser(t,client)
20-
version:=coderdtest.CreateTemplateVersion(t,client,user.OrganizationID,&echo.Responses{
21-
Parse:echo.ParseComplete,
22-
ProvisionApply:provisionCompleteWithAgent,
23-
ProvisionPlan:provisionCompleteWithAgent,
24-
})
19+
version:=coderdtest.CreateTemplateVersion(t,client,user.OrganizationID,completeWithAgent())
2520
coderdtest.AwaitTemplateVersionJob(t,client,version.ID)
2621
template:=coderdtest.CreateTemplate(t,client,user.OrganizationID,version.ID)
2722
workspace:=coderdtest.CreateWorkspace(t,client,user.OrganizationID,template.ID)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp