diff --git a/terraform/hetzner.tf b/terraform/hetzner.tf index 9df275d..52b21a7 100644 --- a/terraform/hetzner.tf +++ b/terraform/hetzner.tf @@ -191,7 +191,10 @@ resource "hcloud_server" "server_k8s_test" { main_node_ip : "10.0.0.2" cluster_token : "" })) - packages_setup : base64encode(file("${path.module}/modules/k8s-cluster/templates/install-packages.sh")) + packages_setup : base64encode(templatefile("${path.module}/templates/install-packages.sh", { + refresh_day : "fri" + refresh_hour : format("%02d", 0) + })) firewall_setup : base64encode(templatefile("${path.module}/modules/k8s-cluster/templates/firewall-setup.sh", { node_ip : "10.0.0.2" })) diff --git a/terraform/modules/k8s-cluster/manager-node.tf b/terraform/modules/k8s-cluster/manager-node.tf index 25fe87c..5e11887 100644 --- a/terraform/modules/k8s-cluster/manager-node.tf +++ b/terraform/modules/k8s-cluster/manager-node.tf @@ -93,7 +93,10 @@ resource "hcloud_server" "manager" { api_server_ip : var.create_loadbalancer ? hcloud_load_balancer.kubernetes[0].ipv4 : hcloud_primary_ip.ipv4_manager_address[0].ip_address cluster_token : random_id.cluster_token.hex })) - packages_setup : base64encode(file("${path.module}/templates/install-packages.sh")) + packages_setup : base64encode(templatefile("${path.module}/templates/install-packages.sh", { + refresh_day : "fri" + refresh_hour : format("%02d", count.index) + })) firewall_setup : base64encode(templatefile("${path.module}/templates/firewall-setup.sh", { node_ip : var.private_node_ips[count.index] })) diff --git a/terraform/modules/k8s-cluster/templates/install-packages.sh b/terraform/modules/k8s-cluster/templates/install-packages.sh index 4221598..3e02ecf 100644 --- a/terraform/modules/k8s-cluster/templates/install-packages.sh +++ b/terraform/modules/k8s-cluster/templates/install-packages.sh @@ -6,4 +6,5 @@ apt-get -y install snapd curl https://packages.hetzner.com/hcloud/deb/hc-utils_0.0.4-1_all.deb -o /run/tmpfiles.d/hc-utils_0.0.4-1_all.deb -s apt-get -y install /run/tmpfiles.d/hc-utils_0.0.4-1_all.deb -snap install kubectl --classic \ No newline at end of file +snap install kubectl --classic +snap set system refresh.timer=${refresh_day},${refresh_hour}:00 \ No newline at end of file diff --git a/terraform/modules/k8s-cluster/worker-node.tf b/terraform/modules/k8s-cluster/worker-node.tf index be2b5c2..083b8c1 100644 --- a/terraform/modules/k8s-cluster/worker-node.tf +++ b/terraform/modules/k8s-cluster/worker-node.tf @@ -72,7 +72,10 @@ resource "hcloud_server" "worker" { api_server_ip : var.create_loadbalancer ? hcloud_load_balancer.kubernetes[0].ipv4 : hcloud_server.manager[0].ipv4_address cluster_token : random_id.cluster_token.hex })) - packages_setup : base64encode(file("${path.module}/templates/install-packages.sh")) + packages_setup : base64encode(templatefile("${path.module}/templates/install-packages.sh", { + refresh_day : "sat" + refresh_hour : format("%02d", count.index) + })) firewall_setup : base64encode(templatefile("${path.module}/templates/firewall-setup.sh", { node_ip : var.private_node_ips[count.index] }))