@@ -9,143 +9,14 @@ terraform {
9
9
}
10
10
}
11
11
12
- data "coder_parameter" "location" {
13
- name = " location"
14
- display_name = " Location"
15
- description = " What location should your workspace live in?"
16
- default = " eastus"
17
- icon = " /emojis/1f310.png"
18
- mutable = false
19
- option {
20
- name = " US (Virginia)"
21
- value = " eastus"
22
- icon = " /emojis/1f1fa-1f1f8.png"
23
- }
24
- option {
25
- name = " US (Virginia) 2"
26
- value = " eastus2"
27
- icon = " /emojis/1f1fa-1f1f8.png"
28
- }
29
- option {
30
- name = " US (Texas)"
31
- value = " southcentralus"
32
- icon = " /emojis/1f1fa-1f1f8.png"
33
- }
34
- option {
35
- name = " US (Washington)"
36
- value = " westus2"
37
- icon = " /emojis/1f1fa-1f1f8.png"
38
- }
39
- option {
40
- name = " US (Arizona)"
41
- value = " westus3"
42
- icon = " /emojis/1f1fa-1f1f8.png"
43
- }
44
- option {
45
- name = " US (Iowa)"
46
- value = " centralus"
47
- icon = " /emojis/1f1fa-1f1f8.png"
48
- }
49
- option {
50
- name = " Canada (Toronto)"
51
- value = " canadacentral"
52
- icon = " /emojis/1f1e8-1f1e6.png"
53
- }
54
- option {
55
- name = " Brazil (Sao Paulo)"
56
- value = " brazilsouth"
57
- icon = " /emojis/1f1e7-1f1f7.png"
58
- }
59
- option {
60
- name = " East Asia (Hong Kong)"
61
- value = " eastasia"
62
- icon = " /emojis/1f1f0-1f1f7.png"
63
- }
64
- option {
65
- name = " Southeast Asia (Singapore)"
66
- value = " southeastasia"
67
- icon = " /emojis/1f1f0-1f1f7.png"
68
- }
69
- option {
70
- name = " Australia (New South Wales)"
71
- value = " australiaeast"
72
- icon = " /emojis/1f1e6-1f1fa.png"
73
- }
74
- option {
75
- name = " China (Hebei)"
76
- value = " chinanorth3"
77
- icon = " /emojis/1f1e8-1f1f3.png"
78
- }
79
- option {
80
- name = " India (Pune)"
81
- value = " centralindia"
82
- icon = " /emojis/1f1ee-1f1f3.png"
83
- }
84
- option {
85
- name = " Japan (Tokyo)"
86
- value = " japaneast"
87
- icon = " /emojis/1f1ef-1f1f5.png"
88
- }
89
- option {
90
- name = " Korea (Seoul)"
91
- value = " koreacentral"
92
- icon = " /emojis/1f1f0-1f1f7.png"
93
- }
94
- option {
95
- name = " Europe (Ireland)"
96
- value = " northeurope"
97
- icon = " /emojis/1f1ea-1f1fa.png"
98
- }
99
- option {
100
- name = " Europe (Netherlands)"
101
- value = " westeurope"
102
- icon = " /emojis/1f1ea-1f1fa.png"
103
- }
104
- option {
105
- name = " France (Paris)"
106
- value = " francecentral"
107
- icon = " /emojis/1f1eb-1f1f7.png"
108
- }
109
- option {
110
- name = " Germany (Frankfurt)"
111
- value = " germanywestcentral"
112
- icon = " /emojis/1f1e9-1f1ea.png"
113
- }
114
- option {
115
- name = " Norway (Oslo)"
116
- value = " norwayeast"
117
- icon = " /emojis/1f1f3-1f1f4.png"
118
- }
119
- option {
120
- name = " Sweden (Gävle)"
121
- value = " swedencentral"
122
- icon = " /emojis/1f1f8-1f1ea.png"
123
- }
124
- option {
125
- name = " Switzerland (Zurich)"
126
- value = " switzerlandnorth"
127
- icon = " /emojis/1f1e8-1f1ed.png"
128
- }
129
- option {
130
- name = " Qatar (Doha)"
131
- value = " qatarcentral"
132
- icon = " /emojis/1f1f6-1f1e6.png"
133
- }
134
- option {
135
- name = " UAE (Dubai)"
136
- value = " uaenorth"
137
- icon = " /emojis/1f1e6-1f1ea.png"
138
- }
139
- option {
140
- name = " South Africa (Johannesburg)"
141
- value = " southafricanorth"
142
- icon = " /emojis/1f1ff-1f1e6.png"
143
- }
144
- option {
145
- name = " UK (London)"
146
- value = " uksouth"
147
- icon = " /emojis/1f1ec-1f1e7.png"
148
- }
12
+ # See https://registry.coder.com/modules/azure-region
13
+ module "azure_region" {
14
+ source = " registry.coder.com/modules/azure-region/coder"
15
+
16
+ # This ensures that the latest version of the module gets downloaded, you can also pin the module version to prevent breaking changes in production.
17
+ version = " >= 1.0.0"
18
+
19
+ default = " eastus"
149
20
}
150
21
151
22
data "coder_parameter" "instance_type" {
@@ -219,8 +90,7 @@ provider "azurerm" {
219
90
features {}
220
91
}
221
92
222
- data "coder_workspace" "me" {
223
- }
93
+ data "coder_workspace" "me" {}
224
94
data "coder_workspace_owner" "me" {}
225
95
226
96
resource "coder_agent" "main" {
@@ -263,6 +133,38 @@ resource "coder_agent" "main" {
263
133
}
264
134
}
265
135
136
+ # See https://registry.coder.com/modules/code-server
137
+ module "code-server" {
138
+ count = data. coder_workspace . me . start_count
139
+ source = " registry.coder.com/modules/code-server/coder"
140
+
141
+ # This ensures that the latest version of the module gets downloaded, you can also pin the module version to prevent breaking changes in production.
142
+ version = " >= 1.0.0"
143
+
144
+ agent_id = coder_agent. main . id
145
+ order = 1
146
+ }
147
+
148
+ # See https://registry.coder.com/modules/jetbrains-gateway
149
+ module "jetbrains_gateway" {
150
+ count = data. coder_workspace . me . start_count
151
+ source = " registry.coder.com/modules/jetbrains-gateway/coder"
152
+
153
+ # JetBrains IDEs to make available for the user to select
154
+ jetbrains_ides = [" IU" , " PY" , " WS" , " PS" , " RD" , " CL" , " GO" , " RM" ]
155
+ default = " IU"
156
+
157
+ # Default folder to open when starting a JetBrains IDE
158
+ folder = " /home/coder"
159
+
160
+ # This ensures that the latest version of the module gets downloaded, you can also pin the module version to prevent breaking changes in production.
161
+ version = " >= 1.0.0"
162
+
163
+ agent_id = coder_agent. main . id
164
+ agent_name = " main"
165
+ order = 2
166
+ }
167
+
266
168
locals {
267
169
prefix = " coder-${ data . coder_workspace_owner . me . name } -${ data . coder_workspace . me . name } "
268
170
@@ -275,7 +177,7 @@ locals {
275
177
276
178
resource "azurerm_resource_group" "main" {
277
179
name = " ${ local . prefix } -resources"
278
- location = data . coder_parameter . location . value
180
+ location = module . azure_region . value
279
181
280
182
tags = {
281
183
Coder_Provisioned = " true"
0 commit comments