Skip to content

Commit d7d54b0

Browse files
committed
fix ssh tunnel enable/disable
1 parent a9f959f commit d7d54b0

File tree

9 files changed

+20
-22
lines changed

9 files changed

+20
-22
lines changed

tofu/modules/generic/k3s/install_k3s.sh

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,6 @@
22

33
set -xe
44

5-
# HACK: work around https://github.com/k3s-io/k3s/issues/7000
6-
# can be removed as of v1.27.2+k3s1 and later
7-
sleep ${sleep_time}
8-
9-
sudo -s <<SUDO
105
# use data disk if available (see mount_ephemeral.sh)
116
if [ -d /data ]; then
127
mkdir -p /data/rancher
@@ -71,4 +66,3 @@ export INSTALL_K3S_VERSION=${distro_version}
7166
export INSTALL_K3S_EXEC=${exec}
7267

7368
curl -sfL https://get.k3s.io | sh -
74-
SUDO

tofu/modules/generic/k3s/main.tf

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,15 @@ module "server_nodes" {
1313
name = "${var.name}-server-${count.index}"
1414
ssh_private_key_path = var.ssh_private_key_path
1515
ssh_user = var.ssh_user
16-
ssh_tunnels = count.index == 0 ? [
16+
ssh_tunnels = count.index == 0 && var.create_tunnels ? [
1717
[var.local_kubernetes_api_port, 6443],
1818
[var.tunnel_app_http_port, 80],
1919
[var.tunnel_app_https_port, 443],
2020
] : []
2121
node_module = var.node_module
2222
node_module_variables = var.node_module_variables
2323
network_config = var.network_config
24+
public = var.public
2425
}
2526

2627
module "agent_nodes" {
@@ -61,7 +62,6 @@ resource "ssh_sensitive_resource" "first_server_installation" {
6162
server_ca_cert = tls_self_signed_cert.server_ca_cert.cert_pem
6263
request_header_ca_key = tls_private_key.request_header_ca_key.private_key_pem
6364
request_header_ca_cert = tls_self_signed_cert.request_header_ca_cert.cert_pem
64-
sleep_time = 0
6565
max_pods = var.max_pods
6666
node_cidr_mask_size = var.node_cidr_mask_size
6767
datastore_endpoint = var.datastore_endpoint
@@ -111,7 +111,6 @@ resource "ssh_resource" "additional_server_installation" {
111111
server_ca_cert = tls_self_signed_cert.server_ca_cert.cert_pem
112112
request_header_ca_key = tls_private_key.request_header_ca_key.private_key_pem
113113
request_header_ca_cert = tls_self_signed_cert.request_header_ca_cert.cert_pem
114-
sleep_time = count.index * 60
115114
max_pods = var.max_pods
116115
node_cidr_mask_size = var.node_cidr_mask_size
117116
datastore_endpoint = var.datastore_endpoint
@@ -157,7 +156,6 @@ resource "ssh_resource" "agent_installation" {
157156
server_ca_cert = tls_self_signed_cert.server_ca_cert.cert_pem
158157
request_header_ca_key = tls_private_key.request_header_ca_key.private_key_pem
159158
request_header_ca_cert = tls_self_signed_cert.request_header_ca_cert.cert_pem
160-
sleep_time = 0
161159
max_pods = var.max_pods
162160
node_cidr_mask_size = var.node_cidr_mask_size
163161
datastore_endpoint = var.datastore_endpoint

tofu/modules/generic/k3s/outputs.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ output "config" {
2929
name = "${var.name}.local.gd"
3030
http_port = var.tunnel_app_http_port
3131
https_port = var.tunnel_app_https_port
32-
} : {}
32+
} : null
3333
}
3434

3535
node_access_commands = merge({

tofu/modules/generic/k3s/variables.tf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,11 @@ variable "datastore_endpoint" {
9494
default = null
9595
}
9696

97+
variable "public" {
98+
description = "Whether the node is publicly accessible"
99+
default = false
100+
}
101+
97102
variable "node_module" {
98103
description = "Non-generic module to create nodes"
99104
type = string

tofu/modules/generic/rke2/install_rke2.sh

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,6 @@
22

33
set -xe
44

5-
# HACK: work around https://github.com/k3s-io/k3s/issues/2306
6-
sleep ${sleep_time}
7-
8-
sudo -s <<SUDO
95
# use data disk if available (see mount_ephemeral.sh)
106
if [ -d /data ]; then
117
mkdir -p /data/rancher
@@ -90,4 +86,3 @@ export INSTALL_RKE2_TYPE=${type}
9086
curl -sfL https://get.rke2.io | sh -
9187
systemctl enable rke2-${type}.service
9288
systemctl restart rke2-${type}.service
93-
SUDO

tofu/modules/generic/rke2/main.tf

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,15 @@ module "server_nodes" {
1414
name = "${var.name}-server-${count.index}"
1515
ssh_private_key_path = var.ssh_private_key_path
1616
ssh_user = var.ssh_user
17-
ssh_tunnels = count.index == 0 ? [
17+
ssh_tunnels = count.index == 0 && var.create_tunnels ? [
1818
[var.local_kubernetes_api_port, 6443],
1919
[var.tunnel_app_http_port, 80],
2020
[var.tunnel_app_https_port, 443],
2121
] : []
2222
node_module = var.node_module
2323
node_module_variables = var.node_module_variables
2424
network_config = var.network_config
25+
public = var.public
2526
}
2627

2728
module "agent_nodes" {
@@ -61,7 +62,6 @@ resource "ssh_sensitive_resource" "first_server_installation" {
6162
server_ca_cert = tls_self_signed_cert.server_ca_cert.cert_pem
6263
request_header_ca_key = tls_private_key.request_header_ca_key.private_key_pem
6364
request_header_ca_cert = tls_self_signed_cert.request_header_ca_cert.cert_pem
64-
sleep_time = 0
6565
max_pods = var.max_pods
6666
node_cidr_mask_size = var.node_cidr_mask_size
6767
})
@@ -109,7 +109,6 @@ resource "ssh_resource" "additional_server_installation" {
109109
server_ca_cert = tls_self_signed_cert.server_ca_cert.cert_pem
110110
request_header_ca_key = tls_private_key.request_header_ca_key.private_key_pem
111111
request_header_ca_cert = tls_self_signed_cert.request_header_ca_cert.cert_pem
112-
sleep_time = count.index * 60
113112
max_pods = var.max_pods
114113
node_cidr_mask_size = var.node_cidr_mask_size
115114
})
@@ -153,7 +152,6 @@ resource "ssh_resource" "agent_installation" {
153152
server_ca_cert = tls_self_signed_cert.server_ca_cert.cert_pem
154153
request_header_ca_key = tls_private_key.request_header_ca_key.private_key_pem
155154
request_header_ca_cert = tls_self_signed_cert.request_header_ca_cert.cert_pem
156-
sleep_time = 0
157155
max_pods = var.max_pods
158156
node_cidr_mask_size = var.node_cidr_mask_size
159157
})

tofu/modules/generic/rke2/outputs.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ output "config" {
2929
name = "${var.name}.local.gd"
3030
http_port = var.tunnel_app_http_port
3131
https_port = var.tunnel_app_https_port
32-
} : {}
32+
} : null
3333
}
3434

3535
node_access_commands = merge({

tofu/modules/generic/rke2/variables.tf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,11 @@ variable "enable_audit_log" {
8989
default = false
9090
}
9191

92+
variable "public" {
93+
description = "Whether the node is publicly accessible"
94+
default = false
95+
}
96+
9297
variable "node_module" {
9398
description = "Non-generic module to create nodes"
9499
type = string

tofu/modules/generic/test_environment/main.tf

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ module "upstream_cluster" {
2626
reserve_node_for_monitoring = var.upstream_cluster.reserve_node_for_monitoring
2727
enable_audit_log = var.upstream_cluster.enable_audit_log
2828
create_tunnels = var.upstream_cluster.create_tunnels
29+
public = var.upstream_cluster.public_ip
2930

3031
sans = ["upstream.local.gd"]
3132
local_kubernetes_api_port = var.first_kubernetes_api_port
@@ -49,6 +50,7 @@ module "tester_cluster" {
4950
reserve_node_for_monitoring = var.tester_cluster.reserve_node_for_monitoring
5051
enable_audit_log = var.tester_cluster.enable_audit_log
5152
create_tunnels = var.tester_cluster.create_tunnels
53+
public = var.tester_cluster.public_ip
5254

5355
sans = ["tester.local.gd"]
5456
local_kubernetes_api_port = var.first_kubernetes_api_port + 1
@@ -72,6 +74,8 @@ module "downstream_clusters" {
7274
reserve_node_for_monitoring = local.downstream_clusters[count.index].reserve_node_for_monitoring
7375
enable_audit_log = local.downstream_clusters[count.index].enable_audit_log
7476
create_tunnels = local.downstream_clusters[count.index].create_tunnels
77+
public = local.downstream_clusters[count.index].public_ip
78+
7579
sans = ["${local.downstream_clusters[count.index].name}.local.gd"]
7680
local_kubernetes_api_port = var.first_kubernetes_api_port + 2 + count.index
7781
tunnel_app_http_port = var.first_app_http_port + 2 + count.index
@@ -84,7 +88,6 @@ module "downstream_clusters" {
8488
}
8589

8690
module "nodes" {
87-
# for_each = {for node in local.nodes: node.name => node}
8891
count = length(local.nodes)
8992
source = "../node"
9093
project_name = var.project_name

0 commit comments

Comments
 (0)