-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathcluster-selfmaintenance.tf
63 lines (54 loc) · 3.08 KB
/
cluster-selfmaintenance.tf
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
resource "kubernetes_namespace" "kured" {
depends_on = [hcloud_load_balancer_service.management_lb_k8s_service]
count = var.enable_auto_os_updates && local.is_ha_cluster ? 1 : 0
metadata {
name = "kured"
}
lifecycle {
ignore_changes = [
metadata[0].annotations,
]
}
}
resource "helm_release" "kured" {
depends_on = [kubernetes_namespace.kured]
count = var.enable_auto_os_updates && local.is_ha_cluster ? 1 : 0
repository = "https://kubereboot.github.io/charts"
chart = "kured"
name = "kured"
namespace = kubernetes_namespace.kured[0].metadata[0].name
version = "3.0.1"
}
data "http" "system_upgrade_controller_crds" {
count = var.enable_auto_kubernetes_updates && local.is_ha_cluster ? 1 : 0
url = "https://github.com/rancher/system-upgrade-controller/releases/download/v${var.cluster_configuration.self_maintenance.system_upgrade_controller_version}/crd.yaml"
}
resource "kubectl_manifest" "system_upgrade_controller_crds" {
depends_on = [hcloud_load_balancer_service.management_lb_k8s_service]
for_each = var.enable_auto_kubernetes_updates && local.is_ha_cluster ? { for i in local.system_upgrade_controller_crds : index(local.system_upgrade_controller_crds, i) => i } : {}
yaml_body = each.value
}
data "http" "system_upgrade_controller" {
count = var.enable_auto_kubernetes_updates && local.is_ha_cluster ? 1 : 0
url = "https://github.com/rancher/system-upgrade-controller/releases/download/v${var.cluster_configuration.self_maintenance.system_upgrade_controller_version}/system-upgrade-controller.yaml"
}
resource "kubectl_manifest" "system_upgrade_controller_ns" {
depends_on = [hcloud_load_balancer_service.management_lb_k8s_service, kubectl_manifest.system_upgrade_controller_crds]
for_each = var.enable_auto_kubernetes_updates && local.is_ha_cluster ? { for i in local.system_upgrade_controller_components : index(local.system_upgrade_controller_components, i) => i if strcontains(i, "kind: Namespace")} : {}
yaml_body = each.value
}
resource "kubectl_manifest" "system_upgrade_controller" {
depends_on = [hcloud_load_balancer_service.management_lb_k8s_service, kubectl_manifest.system_upgrade_controller_crds, kubectl_manifest.system_upgrade_controller_ns]
for_each = var.enable_auto_kubernetes_updates && local.is_ha_cluster ? { for i in local.system_upgrade_controller_components : index(local.system_upgrade_controller_components, i) => i if !strcontains(i, "kind: Namespace")} : {}
yaml_body = each.value
}
resource "kubectl_manifest" "system_upgrade_controller_server_plan" {
depends_on = [kubectl_manifest.system_upgrade_controller]
count = var.enable_auto_kubernetes_updates && local.is_ha_cluster ? 1 : 0
yaml_body = file("${path.module}/templates/manifests/system-upgrade-controller-server.yaml")
}
resource "kubectl_manifest" "system_upgrade_controller_agent_plan" {
depends_on = [kubectl_manifest.system_upgrade_controller]
count = var.enable_auto_kubernetes_updates && local.is_ha_cluster ? 1 : 0
yaml_body = file("${path.module}/templates/manifests/system-upgrade-controller-agent.yaml")
}