@@ -51,94 +51,26 @@ resource "helm_release" "coder_asia" {
51
51
name = local. coder_release_name
52
52
version = var. coder_chart_version
53
53
namespace = kubernetes_namespace. coder_asia . metadata . 0 . name
54
- values = [<< EOF
55
- coder:
56
- workspaceProxy: true
57
- affinity:
58
- nodeAffinity:
59
- requiredDuringSchedulingIgnoredDuringExecution:
60
- nodeSelectorTerms:
61
- - matchExpressions:
62
- - key: "cloud.google.com/gke-nodepool"
63
- operator: "In"
64
- values: ["${ google_container_node_pool . node_pool [" asia_coder" ]. name } "]
65
- podAntiAffinity:
66
- preferredDuringSchedulingIgnoredDuringExecution:
67
- - weight: 1
68
- podAffinityTerm:
69
- topologyKey: "kubernetes.io/hostname"
70
- labelSelector:
71
- matchExpressions:
72
- - key: "app.kubernetes.io/instance"
73
- operator: "In"
74
- values: ["${ local . coder_release_name } "]
75
- env:
76
- - name: CODER_PRIMARY_ACCESS_URL
77
- value: "${ local . deployments . primary . url } "
78
- - name: CODER_PROXY_SESSION_TOKEN
79
- valueFrom:
80
- secretKeyRef:
81
- key: token
82
- name: "${ kubernetes_secret . proxy_token_asia . metadata . 0 . name } "
83
- - name: "CODER_ACCESS_URL"
84
- value: "${ local . deployments . asia . url } "
85
- - name: "CODER_CACHE_DIRECTORY"
86
- value: "/tmp/coder"
87
- - name: "CODER_TELEMETRY_ENABLE"
88
- value: "false"
89
- - name: "CODER_LOGGING_HUMAN"
90
- value: "/dev/null"
91
- - name: "CODER_LOGGING_STACKDRIVER"
92
- value: "/dev/stderr"
93
- - name: "CODER_PPROF_ENABLE"
94
- value: "true"
95
- - name: "CODER_PROMETHEUS_ENABLE"
96
- value: "true"
97
- - name: "CODER_PROMETHEUS_COLLECT_AGENT_STATS"
98
- value: "true"
99
- - name: "CODER_PROMETHEUS_COLLECT_DB_METRICS"
100
- value: "true"
101
- - name: "CODER_VERBOSE"
102
- value: "true"
103
- - name: "CODER_EXPERIMENTS"
104
- value: "${ var . coder_experiments } "
105
- - name: "CODER_DANGEROUS_DISABLE_RATE_LIMITS"
106
- value: "true"
107
- # Disabling built-in provisioner daemons
108
- - name: "CODER_PROVISIONER_DAEMONS"
109
- value: "0"
110
- - name: CODER_PROVISIONER_DAEMON_PSK
111
- valueFrom:
112
- secretKeyRef:
113
- key: psk
114
- name: "${ kubernetes_secret . provisionerd_psk_asia . metadata . 0 . name } "
115
- image:
116
- repo: ${ var . coder_image_repo }
117
- tag: ${ var . coder_image_tag }
118
- replicaCount: "${ local . scenarios [var . scenario ]. coder . replicas } "
119
- resources:
120
- requests:
121
- cpu: "${ local . scenarios [var . scenario ]. coder . cpu_request } "
122
- memory: "${ local . scenarios [var . scenario ]. coder . mem_request } "
123
- limits:
124
- cpu: "${ local . scenarios [var . scenario ]. coder . cpu_limit } "
125
- memory: "${ local . scenarios [var . scenario ]. coder . mem_limit } "
126
- securityContext:
127
- readOnlyRootFilesystem: true
128
- service:
129
- enable: true
130
- sessionAffinity: None
131
- loadBalancerIP: "${ google_compute_address . coder [" asia" ]. address } "
132
- volumeMounts:
133
- - mountPath: "/tmp"
134
- name: cache
135
- readOnly: false
136
- volumes:
137
- - emptyDir:
138
- sizeLimit: 1024Mi
139
- name: cache
140
- EOF
141
- ]
54
+ values = [templatefile (" ${ path . module } /coder_helm_values.tftpl" , {
55
+ workspace_proxy = true ,
56
+ provisionerd = false ,
57
+ primary_url = local.deployments.primary.url,
58
+ proxy_token = kubernetes_secret.proxy_token_asia.metadata.0 .name,
59
+ db_secret = null ,
60
+ ip_address = google_compute_address.coder[" asia" ].address,
61
+ provisionerd_psk = null ,
62
+ access_url = local.deployments.asia.url,
63
+ node_pool = google_container_node_pool.node_pool[" asia_coder" ].name,
64
+ release_name = local.coder_release_name,
65
+ experiments = var.coder_experiments,
66
+ image_repo = var.coder_image_repo,
67
+ image_tag = var.coder_image_tag,
68
+ replicas = local.scenarios[var.scenario].coder.replicas,
69
+ cpu_request = local.scenarios[var.scenario].coder.cpu_request,
70
+ mem_request = local.scenarios[var.scenario].coder.mem_request,
71
+ cpu_limit = local.scenarios[var.scenario].coder.cpu_limit,
72
+ mem_limit = local.scenarios[var.scenario].coder.mem_limit,
73
+ })]
142
74
}
143
75
144
76
resource "helm_release" "provisionerd_asia" {
@@ -149,66 +81,24 @@ resource "helm_release" "provisionerd_asia" {
149
81
name = local. provisionerd_release_name
150
82
version = var. provisionerd_chart_version
151
83
namespace = kubernetes_namespace. coder_asia . metadata . 0 . name
152
- values = [<< EOF
153
- coder:
154
- affinity:
155
- nodeAffinity:
156
- requiredDuringSchedulingIgnoredDuringExecution:
157
- nodeSelectorTerms:
158
- - matchExpressions:
159
- - key: "cloud.google.com/gke-nodepool"
160
- operator: "In"
161
- values: ["${ google_container_node_pool . node_pool [" asia_coder" ]. name } "]
162
- podAntiAffinity:
163
- preferredDuringSchedulingIgnoredDuringExecution:
164
- - weight: 1
165
- podAffinityTerm:
166
- topologyKey: "kubernetes.io/hostname"
167
- labelSelector:
168
- matchExpressions:
169
- - key: "app.kubernetes.io/instance"
170
- operator: "In"
171
- values: ["${ local . coder_release_name } "]
172
- env:
173
- - name: "CODER_URL"
174
- value: "${ local . deployments . primary . url } "
175
- - name: "CODER_VERBOSE"
176
- value: "true"
177
- - name: "CODER_CONFIG_DIR"
178
- value: "/tmp/config"
179
- - name: "CODER_CACHE_DIRECTORY"
180
- value: "/tmp/coder"
181
- - name: "CODER_TELEMETRY_ENABLE"
182
- value: "false"
183
- - name: "CODER_LOGGING_HUMAN"
184
- value: "/dev/null"
185
- - name: "CODER_LOGGING_STACKDRIVER"
186
- value: "/dev/stderr"
187
- - name: "CODER_PROMETHEUS_ENABLE"
188
- value: "true"
189
- - name: "CODER_PROVISIONERD_TAGS"
190
- value: "scope=organization"
191
- image:
192
- repo: ${ var . provisionerd_image_repo }
193
- tag: ${ var . provisionerd_image_tag }
194
- replicaCount: "${ local . scenarios [var . scenario ]. provisionerd . replicas } "
195
- resources:
196
- requests:
197
- cpu: "${ local . scenarios [var . scenario ]. provisionerd . cpu_request } "
198
- memory: "${ local . scenarios [var . scenario ]. provisionerd . mem_request } "
199
- limits:
200
- cpu: "${ local . scenarios [var . scenario ]. provisionerd . cpu_limit } "
201
- memory: "${ local . scenarios [var . scenario ]. provisionerd . mem_limit } "
202
- securityContext:
203
- readOnlyRootFilesystem: true
204
- volumeMounts:
205
- - mountPath: "/tmp"
206
- name: cache
207
- readOnly: false
208
- volumes:
209
- - emptyDir:
210
- sizeLimit: 1024Mi
211
- name: cache
212
- EOF
213
- ]
84
+ values = [templatefile (" ${ path . module } /coder_helm_values.tftpl" , {
85
+ workspace_proxy = false ,
86
+ provisionerd = true ,
87
+ primary_url = null ,
88
+ proxy_token = null ,
89
+ db_secret = null ,
90
+ ip_address = null ,
91
+ provisionerd_psk = kubernetes_secret.provisionerd_psk_asia.metadata.0 .name,
92
+ access_url = local.deployments.primary.url,
93
+ node_pool = google_container_node_pool.node_pool[" asia_coder" ].name,
94
+ release_name = local.coder_release_name,
95
+ experiments = var.coder_experiments,
96
+ image_repo = var.coder_image_repo,
97
+ image_tag = var.coder_image_tag,
98
+ replicas = local.scenarios[var.scenario].provisionerd.replicas,
99
+ cpu_request = local.scenarios[var.scenario].provisionerd.cpu_request,
100
+ mem_request = local.scenarios[var.scenario].provisionerd.mem_request,
101
+ cpu_limit = local.scenarios[var.scenario].provisionerd.cpu_limit,
102
+ mem_limit = local.scenarios[var.scenario].provisionerd.mem_limit,
103
+ })]
214
104
}
0 commit comments