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

Commit022eec8

Browse files
committed
Add deprecated parameter schema
1 parent367c913 commit022eec8

File tree

16 files changed

+516
-397
lines changed

16 files changed

+516
-397
lines changed

‎coderd/provisionerdaemons.go

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -227,8 +227,8 @@ func (server *provisionerdServer) AcquireJob(ctx context.Context, _ *proto.Empty
227227
returnnil,failJob(fmt.Sprintf("get owner: %s",err))
228228
}
229229

230-
// Computeparameters for the workspace to consume.
231-
parameters,err:=parameter.Compute(ctx,server.Database, parameter.ComputeScope{
230+
// ComputedeprecatedParameters for the workspace to consume.
231+
deprecatedParameters,err:=parameter.Compute(ctx,server.Database, parameter.ComputeScope{
232232
TemplateImportJobID:templateVersion.JobID,
233233
TemplateID: uuid.NullUUID{
234234
UUID:template.ID,
@@ -244,18 +244,31 @@ func (server *provisionerdServer) AcquireJob(ctx context.Context, _ *proto.Empty
244244
}
245245

246246
// Convert types to their corresponding protobuf types.
247-
protoParameters:=convertComputedParameterValues(parameters)
247+
deprecatedProtoParameters:=convertComputedParameterValues(deprecatedParameters)
248248
transition,err:=convertWorkspaceTransition(workspaceBuild.Transition)
249249
iferr!=nil {
250250
returnnil,failJob(fmt.Sprintf("convert workspace transition: %s",err))
251251
}
252252

253+
protoParameters:=make([]*sdkproto.ParameterValue,0)
254+
parameters,err:=server.Database.GetWorkspaceBuildParameters(ctx,workspaceBuild.ID)
255+
iferr!=nil {
256+
returnnil,failJob(fmt.Sprintf("get workspace build parameters: %s",err))
257+
}
258+
for_,parameter:=rangeparameters {
259+
protoParameters=append(protoParameters,&sdkproto.ParameterValue{
260+
Name:parameter.Name,
261+
Value:parameter.Value,
262+
})
263+
}
264+
253265
protoJob.Type=&proto.AcquiredJob_WorkspaceBuild_{
254266
WorkspaceBuild:&proto.AcquiredJob_WorkspaceBuild{
255-
WorkspaceBuildId:workspaceBuild.ID.String(),
256-
WorkspaceName:workspace.Name,
257-
State:workspaceBuild.ProvisionerState,
258-
ParameterValues:protoParameters,
267+
WorkspaceBuildId:workspaceBuild.ID.String(),
268+
WorkspaceName:workspace.Name,
269+
State:workspaceBuild.ProvisionerState,
270+
ParameterValues:protoParameters,
271+
DeprecatedParameterValues:deprecatedProtoParameters,
259272
Metadata:&sdkproto.Provision_Metadata{
260273
CoderUrl:server.AccessURL.String(),
261274
WorkspaceTransition:transition,
@@ -404,8 +417,8 @@ func (server *provisionerdServer) UpdateJob(ctx context.Context, request *proto.
404417
}
405418
}
406419

407-
iflen(request.ParameterSchemas)>0 {
408-
forindex,protoParameter:=rangerequest.ParameterSchemas {
420+
iflen(request.DeprecatedParameterSchemas)>0 {
421+
forindex,protoParameter:=rangerequest.DeprecatedParameterSchemas {
409422
validationTypeSystem,err:=convertValidationTypeSystem(protoParameter.ValidationTypeSystem)
410423
iferr!=nil {
411424
returnnil,xerrors.Errorf("convert validation type system for %q: %w",protoParameter.Name,err)
@@ -472,8 +485,8 @@ func (server *provisionerdServer) UpdateJob(ctx context.Context, request *proto.
472485
}
473486

474487
return&proto.UpdateJobResponse{
475-
Canceled:job.CanceledAt.Valid,
476-
ParameterValues:protoParameters,
488+
Canceled:job.CanceledAt.Valid,
489+
DeprecatedParameterValues:protoParameters,
477490
},nil
478491
}
479492

‎coderd/workspacebuilds.go

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -481,21 +481,6 @@ func (api *API) postWorkspaceBuilds(rw http.ResponseWriter, r *http.Request) {
481481
}
482482

483483
workspaceBuildID:=uuid.New()
484-
names:=make([]string,0,len(parameters))
485-
values:=make([]string,0,len(parameters))
486-
for_,param:=rangeparameters {
487-
names=append(names,param.Name)
488-
values=append(values,param.Value)
489-
}
490-
err=db.InsertWorkspaceBuildParameters(ctx, database.InsertWorkspaceBuildParametersParams{
491-
WorkspaceBuildID:workspaceBuildID,
492-
Name:names,
493-
Value:values,
494-
})
495-
iferr!=nil {
496-
returnxerrors.Errorf("insert workspace build parameter: %w",err)
497-
}
498-
499484
input,err:=json.Marshal(workspaceProvisionJob{
500485
WorkspaceBuildID:workspaceBuildID,
501486
})
@@ -535,6 +520,21 @@ func (api *API) postWorkspaceBuilds(rw http.ResponseWriter, r *http.Request) {
535520
returnxerrors.Errorf("insert workspace build: %w",err)
536521
}
537522

523+
names:=make([]string,0,len(parameters))
524+
values:=make([]string,0,len(parameters))
525+
for_,param:=rangeparameters {
526+
names=append(names,param.Name)
527+
values=append(values,param.Value)
528+
}
529+
err=db.InsertWorkspaceBuildParameters(ctx, database.InsertWorkspaceBuildParametersParams{
530+
WorkspaceBuildID:workspaceBuildID,
531+
Name:names,
532+
Value:values,
533+
})
534+
iferr!=nil {
535+
returnxerrors.Errorf("insert workspace build parameter: %w",err)
536+
}
537+
538538
returnnil
539539
})
540540
iferr!=nil {

‎coderd/workspaces.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -509,6 +509,22 @@ func (api *API) postWorkspacesByOrganization(rw http.ResponseWriter, r *http.Req
509509
iferr!=nil {
510510
returnxerrors.Errorf("insert workspace build: %w",err)
511511
}
512+
513+
parameterNames:=make([]string,0,len(createWorkspace.Parameters))
514+
parameterValues:=make([]string,0,len(createWorkspace.Parameters))
515+
for_,param:=rangecreateWorkspace.Parameters {
516+
parameterNames=append(parameterNames,param.Name)
517+
parameterValues=append(parameterValues,param.Value)
518+
}
519+
err=db.InsertWorkspaceBuildParameters(ctx, database.InsertWorkspaceBuildParametersParams{
520+
WorkspaceBuildID:workspaceBuildID,
521+
Name:parameterNames,
522+
Value:parameterValues,
523+
})
524+
iferr!=nil {
525+
returnxerrors.Errorf("insert workspace build parameter: %w",err)
526+
}
527+
512528
returnnil
513529
})
514530
iferr!=nil {

‎codersdk/organizations.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,8 @@ type CreateWorkspaceRequest struct {
8484
TTLMillis*int64`json:"ttl_ms,omitempty"`
8585
// DeprecatedParameterValues allows for additional parameters to be provided
8686
// during the initial provision.
87-
DeprecatedParameterValues []DeprecatedCreateParameterRequest`json:"parameter_values,omitempty"`
87+
DeprecatedParameterValues []DeprecatedCreateParameterRequest`json:"deprecated_parameter_values,omitempty"`
88+
Parameters []WorkspaceBuildParameter`json:"parameters"`
8889
}
8990

9091
func (c*Client)Organization(ctx context.Context,id uuid.UUID) (Organization,error) {

‎examples/templates/gcp-linux/main.tf

Lines changed: 41 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,52 @@ terraform {
1111
}
1212
}
1313

14-
variable"project_id" {
14+
data"coder_parameter""project_id" {
15+
name="Project ID"
16+
icon="/icon/folder.svg"
1517
description="Which Google Compute Project should your workspace live in?"
18+
default="something"
1619
}
1720

18-
variable"zone" {
19-
description="What region should your workspace live in?"
20-
default="us-central1-a"
21-
validation {
22-
condition=contains(["northamerica-northeast1-a","us-central1-a","us-west2-c","europe-west4-b","southamerica-east1-a"], var.zone)
23-
error_message="Invalid zone!"
21+
data"coder_parameter""region" {
22+
name="Region"
23+
description="Select a location for your workspace to live."
24+
icon="/emojis/1f30e.png"
25+
option {
26+
name="Toronto, Canada"
27+
value="northamerica-northeast1-a"
28+
icon="/emojis/1f1e8-1f1e6.png"
29+
}
30+
option {
31+
name="Council Bluff, Iowa, USA"
32+
value="us-central1-a"
33+
icon="/emojis/1f920.png"
34+
}
35+
option {
36+
name="Hamina, Finland"
37+
value="europe-north1-a"
38+
icon="/emojis/1f1eb-1f1ee.png"
39+
}
40+
option {
41+
name="Warsaw, Poland"
42+
value="europe-central2-a"
43+
icon="/emojis/1f1f5-1f1f1.png"
44+
}
45+
option {
46+
name="Madrid, Spain"
47+
value="europe-southwest1-a"
48+
icon="/emojis/1f1ea-1f1f8.png"
49+
}
50+
option {
51+
name="London, England"
52+
value="europe-west2-a"
53+
icon="/emojis/1f1ec-1f1e7.png"
2454
}
2555
}
2656

2757
provider"google" {
28-
zone=var.zone
29-
project=var.project_id
58+
zone=data.coder_parameter.region.value
59+
project=data.coder_parameter.project_id.value
3060
}
3161

3262
data"google_compute_default_service_account""default" {
@@ -38,7 +68,7 @@ data "coder_workspace" "me" {
3868
resource"google_compute_disk""root" {
3969
name="coder-${lower(data.coder_workspace.me.owner)}-${lower(data.coder_workspace.me.name)}-root"
4070
type="pd-ssd"
41-
zone=var.zone
71+
zone=data.coder_parameter.region.value
4272
image="debian-cloud/debian-11"
4373
lifecycle {
4474
ignore_changes=[image]
@@ -75,7 +105,7 @@ resource "coder_app" "code-server" {
75105
}
76106

77107
resource"google_compute_instance""dev" {
78-
zone=var.zone
108+
zone=data.coder_parameter.region.value
79109
count=data.coder_workspace.me.start_count
80110
name="coder-${lower(data.coder_workspace.me.owner)}-${lower(data.coder_workspace.me.name)}-root"
81111
machine_type="e2-medium"

‎go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ require (
7171
github.com/charmbracelet/lipglossv0.6.0
7272
github.com/cli/safeexecv1.0.0
7373
github.com/coder/retryv1.3.0
74-
github.com/coder/terraform-provider-coderv0.4.16-0.20220929232427-aaa860cdfa3a
74+
github.com/coder/terraform-provider-coderv0.6.0
7575
github.com/coreos/go-oidc/v3v3.4.0
7676
github.com/coreos/go-systemdv0.0.0-20191104093116-d3cd4ed1dbcf
7777
github.com/creack/ptyv1.1.18

‎go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -357,8 +357,8 @@ github.com/coder/ssh v0.0.0-20220811105153-fcea99919338 h1:tN5GKFT68YLVzJoA8AHui
357357
github.com/coder/sshv0.0.0-20220811105153-fcea99919338/go.mod h1:ZSS+CUoKHDrqVakTfTWUlKSr9MtMFkC4UvtQKD7O914=
358358
github.com/coder/tailscalev1.1.1-0.20221015033036-5861cbbf7bf5 h1:WVH6e/qK3Wpl0wbmpORD2oQ1qLJborF3fsFHyO1ps0Y=
359359
github.com/coder/tailscalev1.1.1-0.20221015033036-5861cbbf7bf5/go.mod h1:5amxy08qijEa8bcTW2SeIy4MIqcmd7LMsuOxqOlj2Ak=
360-
github.com/coder/terraform-provider-coderv0.4.16-0.20220929232427-aaa860cdfa3a h1:AQRie9LF7kXw/BzrJtfX1lKQXlYqBmt1j+fSOXOQ6/I=
361-
github.com/coder/terraform-provider-coderv0.4.16-0.20220929232427-aaa860cdfa3a/go.mod h1:UIfU3bYNeSzJJvHyJ30tEKjD6Z9utloI+HUM/7n94CY=
360+
github.com/coder/terraform-provider-coderv0.6.0 h1:Q3qSweZEFcH87XC4Q0LVITZ0mfBeT4e688LTfL3GfJE=
361+
github.com/coder/terraform-provider-coderv0.6.0/go.mod h1:UIfU3bYNeSzJJvHyJ30tEKjD6Z9utloI+HUM/7n94CY=
362362
github.com/containerd/aufsv0.0.0-20200908144142-dab0cbea06f4/go.mod h1:nukgQABAEopAHvB6j7cnP5zJ+/3aVcE7hCYqvIwAHyE=
363363
github.com/containerd/aufsv0.0.0-20201003224125-76a6863f2989/go.mod h1:AkGGQs9NM2vtYHaUen+NljV0/baGCAPELGm2q9ZXpWU=
364364
github.com/containerd/aufsv0.0.0-20210316121734-20793ff83c97/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU=

‎provisioner/terraform/provision.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212

1313
"github.com/coder/coder/provisionersdk"
1414
"github.com/coder/coder/provisionersdk/proto"
15+
"github.com/coder/terraform-provider-coder/provider"
1516
)
1617

1718
// Provision executes `terraform apply` or `terraform plan` for dry runs.
@@ -174,7 +175,7 @@ func (s *server) Provision(stream proto.DRPCProvisioner_ProvisionStream) error {
174175

175176
funcprovisionVars(start*proto.Provision_Start) ([]string,error) {
176177
vars:= []string{}
177-
for_,param:=rangestart.ParameterValues {
178+
for_,param:=rangestart.DeprecatedParameterValues {
178179
vars=append(vars,fmt.Sprintf("%s=%s",param.Name,param.Value))
179180
}
180181
returnvars,nil
@@ -194,6 +195,9 @@ func provisionEnv(start *proto.Provision_Start) ([]string, error) {
194195
forkey,value:=rangeprovisionersdk.AgentScriptEnv() {
195196
env=append(env,key+"="+value)
196197
}
198+
for_,parameter:=rangestart.ParameterValues {
199+
env=append(env,provider.ParameterEnvironmentVariable(parameter.Name)+"="+parameter.Value)
200+
}
197201
returnenv,nil
198202
}
199203

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp