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

Commit7ed088d

Browse files
authored
chore!: remove deprecated items fromcoder_workspace data source (#255)
1 parent3022367 commit7ed088d

File tree

9 files changed

+107
-167
lines changed

9 files changed

+107
-167
lines changed

‎docs/data-sources/workspace.md

Lines changed: 43 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,51 @@ Use this data source to get information for the active workspace build.
1313
##Example Usage
1414

1515
```terraform
16-
data "coder_workspace" "dev" {
16+
provider "coder" {}
17+
18+
provider "docker" {}
19+
20+
data "coder_workspace" "me" {}
21+
22+
data "coder_workspace_owner" "me" {}
23+
24+
resource "coder_agent" "dev" {
25+
arch = "amd64"
26+
os = "linux"
27+
dir = "/workspace"
1728
}
1829
19-
resource "kubernetes_pod" "dev" {
20-
count = data.coder_workspace.dev.transition == "start" ? 1 : 0
30+
resource "docker_container" "workspace" {
31+
count = data.coder_workspace.me.start_count
32+
image = docker_image.main.name
33+
# Uses lower() to avoid Docker restriction on container names.
34+
name = "coder-${data.coder_workspace_owner.me.name}-${lower(data.coder_workspace.me.name)}"
35+
# Hostname makes the shell more user friendly: coder@my-workspace:~$
36+
hostname = data.coder_workspace.me.name
37+
# Use the docker gateway if the access URL is 127.0.0.1
38+
entrypoint = ["sh", "-c", replace(coder_agent.main.init_script, "/localhost|127\\.0\\.0\\.1/", "host.docker.internal")]
39+
env = ["CODER_AGENT_TOKEN=${coder_agent.main.token}"]
40+
host {
41+
host = "host.docker.internal"
42+
ip = "host-gateway"
43+
}
44+
# Add labels in Docker to keep track of orphan resources.
45+
labels {
46+
label = "coder.owner"
47+
value = data.coder_workspace_owner.me.name
48+
}
49+
labels {
50+
label = "coder.owner_id"
51+
value = data.coder_workspace_owner.me.id
52+
}
53+
labels {
54+
label = "coder.workspace_id"
55+
value = data.coder_workspace.me.id
56+
}
57+
labels {
58+
label = "coder.workspace_name"
59+
value = data.coder_workspace.me.name
60+
}
2161
}
2262
```
2363

@@ -30,13 +70,6 @@ resource "kubernetes_pod" "dev" {
3070
-`access_url` (String) The access URL of the Coder deployment provisioning this workspace.
3171
-`id` (String) UUID of the workspace.
3272
-`name` (String) Name of the workspace.
33-
-`owner` (String,**Deprecated**: Use`coder_workspace_owner.name` instead.) Username of the workspace owner.
34-
-`owner_email` (String,**Deprecated**: Use`coder_workspace_owner.email` instead.) Email address of the workspace owner.
35-
-`owner_groups` (List of String,**Deprecated**: Use`coder_workspace_owner.groups` instead.) List of groups the workspace owner belongs to.
36-
-`owner_id` (String,**Deprecated**: Use`coder_workspace_owner.id` instead.) UUID of the workspace owner.
37-
-`owner_name` (String,**Deprecated**: Use`coder_workspace_owner.full_name` instead.) Name of the workspace owner.
38-
-`owner_oidc_access_token` (String,**Deprecated**: Use`coder_workspace_owner.oidc_access_token` instead.) A valid OpenID Connect access token of the workspace owner. This is only available if the workspace owner authenticated with OpenID Connect. If a valid token cannot be obtained, this value will be an empty string.
39-
-`owner_session_token` (String,**Deprecated**: Use`coder_workspace_owner.session_token` instead.) Session token for authenticating with a Coder deployment. It is regenerated everytime a workspace is started.
4073
-`start_count` (Number) A computed count based on`transition` state. If`start`, count will equal 1.
4174
-`template_id` (String) ID of the workspace's template.
4275
-`template_name` (String) Name of the workspace's template.

‎docs/data-sources/workspace_owner.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,12 @@ Use this data source to fetch information about the workspace owner.
1515
```terraform
1616
provider "coder" {}
1717
18-
data "coder_workspace" "me" {}
19-
2018
data "coder_workspace_owner" "me" {}
2119
2220
resource "coder_agent" "dev" {
2321
arch = "amd64"
2422
os = "linux"
25-
dir =local.repo_dir
23+
dir ="/workspace"
2624
env = {
2725
OIDC_TOKEN : data.coder_workspace_owner.me.oidc_access_token,
2826
}
@@ -36,7 +34,7 @@ resource "coder_env" "git_author_name" {
3634
}
3735
3836
resource "coder_env" "git_author_email" {
39-
agent_id =var.agent_id
37+
agent_id =coder_agent.dev.id
4038
name = "GIT_AUTHOR_EMAIL"
4139
value = data.coder_workspace_owner.me.email
4240
count = data.coder_workspace_owner.me.email != "" ? 1 : 0
Lines changed: 43 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,46 @@
1-
data"coder_workspace""dev" {
1+
provider"coder" {}
2+
3+
provider"docker" {}
4+
5+
data"coder_workspace""me" {}
6+
7+
data"coder_workspace_owner""me" {}
8+
9+
resource"coder_agent""dev" {
10+
arch="amd64"
11+
os="linux"
12+
dir="/workspace"
213
}
314

4-
resource"kubernetes_pod""dev" {
5-
count=data.coder_workspace.dev.transition=="start"?1:0
15+
resource"docker_container""workspace" {
16+
count=data.coder_workspace.me.start_count
17+
image=docker_image.main.name
18+
# Uses lower() to avoid Docker restriction on container names.
19+
name="coder-${data.coder_workspace_owner.me.name}-${lower(data.coder_workspace.me.name)}"
20+
# Hostname makes the shell more user friendly: coder@my-workspace:~$
21+
hostname=data.coder_workspace.me.name
22+
# Use the docker gateway if the access URL is 127.0.0.1
23+
entrypoint=["sh","-c",replace(coder_agent.main.init_script,"/localhost|127\\.0\\.0\\.1/","host.docker.internal")]
24+
env=["CODER_AGENT_TOKEN=${coder_agent.main.token}"]
25+
host {
26+
host="host.docker.internal"
27+
ip="host-gateway"
28+
}
29+
# Add labels in Docker to keep track of orphan resources.
30+
labels {
31+
label="coder.owner"
32+
value=data.coder_workspace_owner.me.name
33+
}
34+
labels {
35+
label="coder.owner_id"
36+
value=data.coder_workspace_owner.me.id
37+
}
38+
labels {
39+
label="coder.workspace_id"
40+
value=data.coder_workspace.me.id
41+
}
42+
labels {
43+
label="coder.workspace_name"
44+
value=data.coder_workspace.me.name
45+
}
646
}

‎examples/data-sources/coder_workspace_owner/data-source.tf

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
provider"coder" {}
22

3-
data"coder_workspace""me" {}
4-
53
data"coder_workspace_owner""me" {}
64

75
resource"coder_agent""dev" {
86
arch="amd64"
97
os="linux"
10-
dir=local.repo_dir
8+
dir="/workspace"
119
env={
1210
OIDC_TOKEN: data.coder_workspace_owner.me.oidc_access_token,
1311
}
@@ -21,7 +19,7 @@ resource "coder_env" "git_author_name" {
2119
}
2220

2321
resource"coder_env""git_author_email" {
24-
agent_id=var.agent_id
22+
agent_id=coder_agent.dev.id
2523
name="GIT_AUTHOR_EMAIL"
2624
value=data.coder_workspace_owner.me.email
2725
count=data.coder_workspace_owner.me.email!=""?1:0

‎integration/integration_test.go

Lines changed: 12 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -71,25 +71,18 @@ func TestIntegration(t *testing.T) {
7171
name:"test-data-source",
7272
minVersion:"v0.0.0",
7373
expectedOutput:map[string]string{
74-
"provisioner.arch":runtime.GOARCH,
75-
"provisioner.id":`[a-zA-Z0-9-]+`,
76-
"provisioner.os":runtime.GOOS,
77-
"workspace.access_port":`\d+`,
78-
"workspace.access_url":`https?://\D+:\d+`,
79-
"workspace.id":`[a-zA-z0-9-]+`,
80-
"workspace.name":`test-data-source`,
81-
"workspace.owner":`testing`,
82-
"workspace.owner_email":`testing@coder\.com`,
83-
"workspace.owner_groups":`\[\]`,
84-
"workspace.owner_id":`[a-zA-Z0-9]+`,
85-
"workspace.owner_name":`default`,
86-
"workspace.owner_oidc_access_token":`^$`,// TODO: need a test OIDC integration
87-
"workspace.owner_session_token":`[a-zA-Z0-9-]+`,
88-
"workspace.start_count":`1`,
89-
"workspace.template_id":`[a-zA-Z0-9-]+`,
90-
"workspace.template_name":`test-data-source`,
91-
"workspace.template_version":`.+`,
92-
"workspace.transition":`start`,
74+
"provisioner.arch":runtime.GOARCH,
75+
"provisioner.id":`[a-zA-Z0-9-]+`,
76+
"provisioner.os":runtime.GOOS,
77+
"workspace.access_port":`\d+`,
78+
"workspace.access_url":`https?://\D+:\d+`,
79+
"workspace.id":`[a-zA-z0-9-]+`,
80+
"workspace.name":`test-data-source`,
81+
"workspace.start_count":`1`,
82+
"workspace.template_id":`[a-zA-Z0-9-]+`,
83+
"workspace.template_name":`test-data-source`,
84+
"workspace.template_version":`.+`,
85+
"workspace.transition":`start`,
9386
},
9487
},
9588
{
@@ -103,13 +96,6 @@ func TestIntegration(t *testing.T) {
10396
"workspace.access_url":`https?://\D+:\d+`,
10497
"workspace.id":`[a-zA-z0-9-]+`,
10598
"workspace.name":``,
106-
"workspace.owner":`testing`,
107-
"workspace.owner_email":`testing@coder\.com`,
108-
"workspace.owner_groups":`\[\]`,
109-
"workspace.owner_id":`[a-zA-Z0-9]+`,
110-
"workspace.owner_name":`default`,
111-
"workspace.owner_oidc_access_token":`^$`,// TODO: need a test OIDC integration
112-
"workspace.owner_session_token":`[a-zA-Z0-9-]+`,
11399
"workspace.start_count":`1`,
114100
"workspace.template_id":`[a-zA-Z0-9-]+`,
115101
"workspace.template_name":`workspace-owner`,

‎integration/test-data-source/main.tf

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,8 @@ terraform {
99
}
1010
}
1111

12-
// TODO: test coder_external_auth and coder_git_auth
12+
// TODO: test coder_external_auth
1313
// data coder_external_auth "me" {}
14-
// data coder_git_auth "me" {}
1514
data"coder_provisioner""me" {}
1615
data"coder_workspace""me" {}
1716
data"coder_workspace_owner""me" {}
@@ -26,13 +25,6 @@ locals {
2625
"workspace.access_url": data.coder_workspace.me.access_url,
2726
"workspace.id": data.coder_workspace.me.id,
2827
"workspace.name": data.coder_workspace.me.name,
29-
"workspace.owner": data.coder_workspace.me.owner,
30-
"workspace.owner_email": data.coder_workspace.me.owner_email,
31-
"workspace.owner_groups":jsonencode(data.coder_workspace.me.owner_groups),
32-
"workspace.owner_id": data.coder_workspace.me.owner_id,
33-
"workspace.owner_name": data.coder_workspace.me.owner_name,
34-
"workspace.owner_oidc_access_token": data.coder_workspace.me.owner_oidc_access_token,
35-
"workspace.owner_session_token": data.coder_workspace.me.owner_session_token,
3628
"workspace.start_count":tostring(data.coder_workspace.me.start_count),
3729
"workspace.template_id": data.coder_workspace.me.template_id,
3830
"workspace.template_name": data.coder_workspace.me.template_name,

‎integration/workspace-owner/main.tf

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,8 @@ terraform {
99
}
1010
}
1111

12-
// TODO: test coder_external_auth and coder_git_auth
12+
// TODO: test coder_external_auth
1313
// data coder_external_auth "me" {}
14-
// data coder_git_auth "me" {}
1514
data"coder_provisioner""me" {}
1615
data"coder_workspace""me" {}
1716
data"coder_workspace_owner""me" {}
@@ -26,13 +25,6 @@ locals {
2625
"workspace.access_url": data.coder_workspace.me.access_url,
2726
"workspace.id": data.coder_workspace.me.id,
2827
"workspace.name": data.coder_workspace.me.name,
29-
"workspace.owner": data.coder_workspace.me.owner,
30-
"workspace.owner_email": data.coder_workspace.me.owner_email,
31-
"workspace.owner_groups":jsonencode(data.coder_workspace.me.owner_groups),
32-
"workspace.owner_id": data.coder_workspace.me.owner_id,
33-
"workspace.owner_name": data.coder_workspace.me.owner_name,
34-
"workspace.owner_oidc_access_token": data.coder_workspace.me.owner_oidc_access_token,
35-
"workspace.owner_session_token": data.coder_workspace.me.owner_session_token,
3628
"workspace.start_count":tostring(data.coder_workspace.me.start_count),
3729
"workspace.template_id": data.coder_workspace.me.template_id,
3830
"workspace.template_name": data.coder_workspace.me.template_name,

‎provider/workspace.go

Lines changed: 0 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package provider
22

33
import (
44
"context"
5-
"encoding/json"
65
"reflect"
76
"strconv"
87

@@ -28,37 +27,9 @@ func workspaceDataSource() *schema.Resource {
2827
}
2928
_=rd.Set("start_count",count)
3029

31-
owner:=helpers.OptionalEnvOrDefault("CODER_WORKSPACE_OWNER","default")
32-
_=rd.Set("owner",owner)
33-
34-
ownerEmail:=helpers.OptionalEnvOrDefault("CODER_WORKSPACE_OWNER_EMAIL","default@example.com")
35-
_=rd.Set("owner_email",ownerEmail)
36-
37-
ownerGroupsText:=helpers.OptionalEnv("CODER_WORKSPACE_OWNER_GROUPS")
38-
varownerGroups []string
39-
ifownerGroupsText!="" {
40-
err:=json.Unmarshal([]byte(ownerGroupsText),&ownerGroups)
41-
iferr!=nil {
42-
returndiag.Errorf("couldn't parse owner groups %q",ownerGroupsText)
43-
}
44-
}
45-
_=rd.Set("owner_groups",ownerGroups)
46-
47-
ownerName:=helpers.OptionalEnvOrDefault("CODER_WORKSPACE_OWNER_NAME","default")
48-
_=rd.Set("owner_name",ownerName)
49-
50-
ownerID:=helpers.OptionalEnvOrDefault("CODER_WORKSPACE_OWNER_ID",uuid.Nil.String())
51-
_=rd.Set("owner_id",ownerID)
52-
53-
ownerOIDCAccessToken:=helpers.OptionalEnv("CODER_WORKSPACE_OWNER_OIDC_ACCESS_TOKEN")
54-
_=rd.Set("owner_oidc_access_token",ownerOIDCAccessToken)
55-
5630
name:=helpers.OptionalEnvOrDefault("CODER_WORKSPACE_NAME","default")
5731
rd.Set("name",name)
5832

59-
sessionToken:=helpers.OptionalEnv("CODER_WORKSPACE_OWNER_SESSION_TOKEN")
60-
_=rd.Set("owner_session_token",sessionToken)
61-
6233
id:=helpers.OptionalEnvOrDefault("CODER_WORKSPACE_ID",uuid.NewString())
6334
rd.SetId(id)
6435

@@ -122,47 +93,6 @@ func workspaceDataSource() *schema.Resource {
12293
Computed:true,
12394
Description:"Either `start` or `stop`. Use this to start/stop resources with `count`.",
12495
},
125-
"owner": {
126-
Type:schema.TypeString,
127-
Computed:true,
128-
Description:"Username of the workspace owner.",
129-
Deprecated:"Use `coder_workspace_owner.name` instead.",
130-
},
131-
"owner_email": {
132-
Type:schema.TypeString,
133-
Computed:true,
134-
Description:"Email address of the workspace owner.",
135-
Deprecated:"Use `coder_workspace_owner.email` instead.",
136-
},
137-
"owner_id": {
138-
Type:schema.TypeString,
139-
Computed:true,
140-
Description:"UUID of the workspace owner.",
141-
Deprecated:"Use `coder_workspace_owner.id` instead.",
142-
},
143-
"owner_name": {
144-
Type:schema.TypeString,
145-
Computed:true,
146-
Description:"Name of the workspace owner.",
147-
Deprecated:"Use `coder_workspace_owner.full_name` instead.",
148-
},
149-
"owner_oidc_access_token": {
150-
Type:schema.TypeString,
151-
Computed:true,
152-
Description:"A valid OpenID Connect access token of the workspace owner. "+
153-
"This is only available if the workspace owner authenticated with OpenID Connect. "+
154-
"If a valid token cannot be obtained, this value will be an empty string.",
155-
Deprecated:"Use `coder_workspace_owner.oidc_access_token` instead.",
156-
},
157-
"owner_groups": {
158-
Type:schema.TypeList,
159-
Elem:&schema.Schema{
160-
Type:schema.TypeString,
161-
},
162-
Computed:true,
163-
Description:"List of groups the workspace owner belongs to.",
164-
Deprecated:"Use `coder_workspace_owner.groups` instead.",
165-
},
16696
"id": {
16797
Type:schema.TypeString,
16898
Computed:true,
@@ -173,12 +103,6 @@ func workspaceDataSource() *schema.Resource {
173103
Computed:true,
174104
Description:"Name of the workspace.",
175105
},
176-
"owner_session_token": {
177-
Type:schema.TypeString,
178-
Computed:true,
179-
Description:"Session token for authenticating with a Coder deployment. It is regenerated everytime a workspace is started.",
180-
Deprecated:"Use `coder_workspace_owner.session_token` instead.",
181-
},
182106
"template_id": {
183107
Type:schema.TypeString,
184108
Computed:true,

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp