Skip to content

Commit 001c185

Browse files
committed
elaborate example
1 parent 4ede0cd commit 001c185

File tree

4 files changed

+86
-10
lines changed

4 files changed

+86
-10
lines changed

docs/data-sources/workspace.md

+43-3
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

docs/data-sources/workspace_owner.md

-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ 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" {
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

-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
provider "coder" {}
22

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

75
resource "coder_agent" "dev" {

0 commit comments

Comments
 (0)