-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.tf
More file actions
126 lines (115 loc) · 3.13 KB
/
main.tf
File metadata and controls
126 lines (115 loc) · 3.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
locals {
containerd_config_path = {
containerd = "/etc/containerd/config.toml"
rke2 = "/var/lib/rancher/rke2/agent/etc/containerd/config.toml"
k3s = "/var/lib/rancher/k3s/agent/etc/containerd/config.toml"
}
containerd_socket_path = {
containerd = "/run/containerd/containerd.sock"
rke2 = "/var/lib/rancher/rke2/agent/containerd/containerd.sock"
k3s = "/var/lib/rancher/k3s/agent/containerd/containerd.sock"
}
}
resource "devzero_cluster" "cluster" {
name = var.cluster_name
}
resource "helm_release" "zxporter" {
count = var.enable_zxporter ? 1 : 0
name = "zxporter"
chart = "zxporter"
repository = "oci://registry-1.docker.io/devzeroinc"
namespace = "devzero-zxporter"
create_namespace = true
atomic = true
wait = true
version = var.zxporter_chart_version
set = concat([
{
name = "zxporter.kubeContextName"
value = var.cluster_name
},
{
name = "zxporter.k8sProvider"
value = var.cloud_provider
},
{
name = "monitoring.prometheus.enabled"
value = tostring(var.provision_prometheus)
},
{
name = "zxporter.dakrUrl"
value = var.endpoint
}
], var.zxporter_extra_values)
set_sensitive = [
{
name = "zxporter.clusterToken"
value = devzero_cluster.cluster.token
}
]
depends_on = [devzero_cluster.cluster]
}
resource "helm_release" "devzero_operator" {
count = var.enable_operator ? 1 : 0
name = "devzero-operator"
chart = "dakr-operator"
repository = "oci://registry-1.docker.io/devzeroinc"
namespace = "devzero"
create_namespace = true
atomic = true
wait = true
version = var.operator_chart_version
set = concat([
{
name = "cloud"
value = var.cloud_provider
},
{
name = "operator.clusterName"
value = var.cluster_name
},
{
name = "operator.noCloudCreds"
value = tostring(var.cloud_provider == "")
},
{
name = "operator.endpoint"
value = var.endpoint
},
{
name = "scheduler.enabled"
value = tostring(var.enable_scheduler)
},
{
name = "scheduler.controlPlaneAddress"
value = var.endpoint
},
{
name = "agent.enabled"
value = tostring(var.enable_live_migration_agent)
},
{
name = "agent.runtime"
value = var.runtime
},
{
name = "agent.containerdConfigPath"
value = coalesce(var.containerd_config_path, lookup(local.containerd_config_path, var.runtime, "/etc/containerd/config.toml"))
},
{
name = "agent.containerdSock"
value = coalesce(var.containerd_socket_path, lookup(local.containerd_socket_path, var.runtime, "/run/containerd/containerd.sock"))
},
], var.operator_extra_values)
set_sensitive = [
{
name = "operator.clusterToken"
value = devzero_cluster.cluster.token
},
{
name = "scheduler.controlPlaneToken"
value = devzero_cluster.cluster.token
}
]
depends_on = [devzero_cluster.cluster]
}