@@ -136,10 +136,39 @@ module "deploy_initial_node" {
136136 depends_on = [
137137 data . aws_availability_zones . available ,
138138 ]
139- for_each = local. initial_node
140- deploy_path = each. value . deploy_path
141- data_path = each. value . deploy_path
142- template_path = " ${ path . module } /node_template"
139+ for_each = local. initial_node
140+ deploy_path = each. value . deploy_path
141+ data_path = each. value . deploy_path
142+ # if any of this changes, update/redeploy
143+ deploy_trigger = md5 (join (" -" , [
144+ each . key ,
145+ md5 (base64encode (jsonencode (each. value ))),
146+ local . identifier ,
147+ local . owner ,
148+ local . acme_server_url ,
149+ local . project_name ,
150+ local . ip_family ,
151+ md5 (base64encode (jsonencode (data. aws_availability_zones . available . names ))),
152+ md5 (base64encode (jsonencode (local. project_subnet_names ))),
153+ md5 (base64encode (jsonencode (local. project_load_balancer_access_cidrs ))),
154+ local . domain ,
155+ local . zone ,
156+ local . skip_cert ,
157+ data . aws_availability_zones . available . names [0 ],
158+ md5 (base64encode (jsonencode (values (local. target_groups )))),
159+ md5 (base64encode (jsonencode (local. server_access_addresses ))),
160+ local . username ,
161+ local . ssh_key ,
162+ local . install_method ,
163+ local . download ,
164+ local . rke2_version ,
165+ ]))
166+ template_files = [
167+ join (" /" , [path . module , " node_template" , " main.tf" ]),
168+ join (" /" , [path . module , " node_template" , " outputs.tf" ]),
169+ join (" /" , [path . module , " node_template" , " variables.tf" ]),
170+ join (" /" , [path . module , " node_template" , " versions.tf" ]),
171+ ]
143172 inputs = <<- EOT
144173 identifier = "${ local . identifier } "
145174 owner = "${ local . owner } "
@@ -229,10 +258,39 @@ module "deploy_additional_nodes" {
229258 data . aws_availability_zones . available ,
230259 module . deploy_initial_node ,
231260 ]
232- for_each = local. additional_nodes
233- deploy_path = each. value . deploy_path
234- data_path = each. value . deploy_path
235- template_path = " ${ path . module } /node_template"
261+ for_each = local. additional_nodes
262+ deploy_path = each. value . deploy_path
263+ data_path = each. value . deploy_path
264+ # if any of this changes, update/redeploy
265+ deploy_trigger = md5 (join (" -" , [
266+ each . key ,
267+ md5 (base64encode (jsonencode (each. value ))),
268+ local . identifier ,
269+ local . owner ,
270+ local . acme_server_url ,
271+ local . project_name ,
272+ local . ip_family ,
273+ md5 (base64encode (jsonencode (data. aws_availability_zones . available . names ))),
274+ md5 (base64encode (jsonencode (local. project_subnet_names ))),
275+ md5 (base64encode (jsonencode (local. project_load_balancer_access_cidrs ))),
276+ local . domain ,
277+ local . zone ,
278+ local . skip_cert ,
279+ data . aws_availability_zones . available . names [0 ],
280+ md5 (base64encode (jsonencode (values (local. target_groups )))),
281+ md5 (base64encode (jsonencode (local. server_access_addresses ))),
282+ local . username ,
283+ local . ssh_key ,
284+ local . install_method ,
285+ local . download ,
286+ local . rke2_version ,
287+ ]))
288+ template_files = [
289+ join (" /" , [path . module , " node_template" , " main.tf" ]),
290+ join (" /" , [path . module , " node_template" , " outputs.tf" ]),
291+ join (" /" , [path . module , " node_template" , " variables.tf" ]),
292+ join (" /" , [path . module , " node_template" , " versions.tf" ]),
293+ ]
236294 inputs = <<- EOT
237295 identifier = "${ local . identifier } "
238296 owner = "${ local . owner } "
@@ -311,11 +369,12 @@ strcontains(each.value.type, "database") ? local.database_config :
311369 EOT
312370}
313371
314- resource "local_sensitive_file " "kubeconfig" {
372+ resource "file_local " "kubeconfig" {
315373 depends_on = [
316374 module . deploy_initial_node ,
317375 module . deploy_additional_nodes ,
318376 ]
319- content = local. ino . output . kubeconfig
320- filename = " ${ local . local_file_path } /kubeconfig"
377+ name = " kubeconfig"
378+ directory = local. local_file_path
379+ contents = local. ino . output . kubeconfig
321380}
0 commit comments