Files
addons/meta/addons/crds.tf
2024-03-20 06:56:44 +01:00

277 lines
8.2 KiB
HCL

locals {
annotations = {
"vynil.solidite.fr/meta" = "core"
"vynil.solidite.fr/name" = var.namespace
}
crd-argo-cd = { for k, v in var.crds.argo-cd : k => v if k!="enable" }
crd-argo-events = { for k, v in var.crds.argo-events : k => v if k!="enable" }
crd-argo-workflows = { for k, v in var.crds.argo-workflows : k => v if k!="enable" }
crd-fission = { for k, v in var.crds.fission : k => v if k!="enable" }
crd-keda = { for k, v in var.crds.keda : k => v if k!="enable" }
crd-minio = { for k, v in var.crds.minio : k => v if k!="enable" }
crd-olm = { for k, v in var.crds.olm : k => v if k!="enable" }
crd-whereabouts = { for k, v in var.crds.whereabouts : k => v if k!="enable" }
crd-volumesnapshot = { for k, v in var.crds.volumesnapshot : k => v if k!="enable" }
crd-opentelemetry = { for k, v in var.crds.opentelemetry : k => v if k!="enable" }
crd-jaeger = { for k, v in var.crds.jaeger : k => v if k!="enable" }
crd-prometheus = { for k, v in var.crds.prometheus : k => v if k!="enable" }
crd-flux = { for k, v in var.crds.flux : k => v if k!="enable" }
crd-tekton_pipelines = { for k, v in var.crds.tekton_pipelines : k => v if k!="enable" }
crd-tekton_triggers = { for k, v in var.crds.tekton_triggers : k => v if k!="enable" }
}
resource "kubectl_manifest" "crd-tekton_pipelines" {
count = (var.crds.tekton_pipelines.enable || var.tekton.tekton_pipelines.enable) ? 1 : 0
yaml_body = <<-EOF
apiVersion: "vynil.solidite.fr/v1"
kind: "Install"
metadata:
name: "crd-tekton-pipelines"
namespace: "${var.namespace}"
labels: ${jsonencode(local.common-labels)}
spec:
distrib: "${var.component}"
category: "crd"
component: "tekton-pipelines"
options: ${jsonencode(local.crd-tekton_pipelines)}
EOF
}
resource "kubectl_manifest" "crd-tekton_triggers" {
count = (var.crds.tekton_triggers.enable || var.tekton.tekton_triggers.enable) ? 1 : 0
yaml_body = <<-EOF
apiVersion: "vynil.solidite.fr/v1"
kind: "Install"
metadata:
name: "crd-tekton-triggers"
namespace: "${var.namespace}"
labels: ${jsonencode(local.common-labels)}
spec:
distrib: "${var.component}"
category: "crd"
component: "tekton-triggers"
options: ${jsonencode(local.crd-tekton_triggers)}
EOF
}
resource "kubectl_manifest" "crd-jaeger" {
count = (var.crds.jaeger.enable || var.monitor.jaeger.enable) ? 1 : 0
yaml_body = <<-EOF
apiVersion: "vynil.solidite.fr/v1"
kind: "Install"
metadata:
name: "crd-jaeger"
namespace: "${var.namespace}"
labels: ${jsonencode(local.common-labels)}
spec:
distrib: "${var.component}"
category: "crd"
component: "jaeger"
options: ${jsonencode(local.crd-jaeger)}
EOF
}
resource "kubectl_manifest" "crd-opentelemetry" {
count = (var.crds.opentelemetry.enable || var.monitor.opentelemetry.enable) ? 1 : 0
yaml_body = <<-EOF
apiVersion: "vynil.solidite.fr/v1"
kind: "Install"
metadata:
name: "crd-opentelemetry"
namespace: "${var.namespace}"
labels: ${jsonencode(local.common-labels)}
spec:
distrib: "${var.component}"
category: "crd"
component: "opentelemetry"
options: ${jsonencode(local.crd-opentelemetry)}
EOF
}
resource "kubectl_manifest" "crd-prometheus" {
count = (var.crds.prometheus.enable || var.monitor.prometheus.enable) ? 1 : 0
yaml_body = <<-EOF
apiVersion: "vynil.solidite.fr/v1"
kind: "Install"
metadata:
name: "crd-prometheus"
namespace: "${var.namespace}"
labels: ${jsonencode(local.common-labels)}
spec:
distrib: "${var.component}"
category: "crd"
component: "prometheus"
options: ${jsonencode(local.crd-prometheus)}
EOF
}
resource "kubectl_manifest" "crd-flux" {
count = (var.crds.flux.enable || var.flux.enable) ? 1 : 0
yaml_body = <<-EOF
apiVersion: "vynil.solidite.fr/v1"
kind: "Install"
metadata:
name: "crd-flux"
namespace: "${var.namespace}"
labels: ${jsonencode(local.common-labels)}
spec:
distrib: "${var.component}"
category: "crd"
component: "flux"
options: ${jsonencode(local.crd-flux)}
EOF
}
resource "kubectl_manifest" "crd-olm" {
count = (var.crds.olm.enable || var.olm.enable) ? 1 : 0
yaml_body = <<-EOF
apiVersion: "vynil.solidite.fr/v1"
kind: "Install"
metadata:
name: "crd-olm"
namespace: "${var.namespace}"
labels: ${jsonencode(local.common-labels)}
spec:
distrib: "${var.component}"
category: "crd"
component: "olm"
options: ${jsonencode(local.crd-olm)}
EOF
}
resource "kubectl_manifest" "crd-keda" {
count = (var.crds.keda.enable) ? 1 : 0
yaml_body = <<-EOF
apiVersion: "vynil.solidite.fr/v1"
kind: "Install"
metadata:
name: "crd-keda"
namespace: "${var.namespace}"
labels: ${jsonencode(local.common-labels)}
spec:
distrib: "${var.component}"
category: "crd"
component: "keda"
options: ${jsonencode(local.crd-keda)}
EOF
}
resource "kubectl_manifest" "crd-fission" {
count = (var.crds.fission.enable) ? 1 : 0
yaml_body = <<-EOF
apiVersion: "vynil.solidite.fr/v1"
kind: "Install"
metadata:
name: "crd-fission"
namespace: "${var.namespace}"
labels: ${jsonencode(local.common-labels)}
spec:
distrib: "${var.component}"
category: "crd"
component: "fission"
options: ${jsonencode(local.crd-fission)}
EOF
}
resource "kubectl_manifest" "crd-minio" {
count = (var.crds.minio.enable) ? 1 : 0
yaml_body = <<-EOF
apiVersion: "vynil.solidite.fr/v1"
kind: "Install"
metadata:
name: "crd-minio"
namespace: "${var.namespace}"
labels: ${jsonencode(local.common-labels)}
spec:
distrib: "${var.component}"
category: "crd"
component: "minio"
options: ${jsonencode(local.crd-minio)}
EOF
}
resource "kubectl_manifest" "crd-argo-cd" {
count = (var.crds.argo-cd.enable) ? 1 : 0
yaml_body = <<-EOF
apiVersion: "vynil.solidite.fr/v1"
kind: "Install"
metadata:
name: "crd-argo-cd"
namespace: "${var.namespace}"
labels: ${jsonencode(local.common-labels)}
spec:
distrib: "${var.component}"
category: "crd"
component: "argo-cd"
options: ${jsonencode(local.crd-argo-cd)}
EOF
}
resource "kubectl_manifest" "crd-argo-events" {
count = (var.crds.argo-events.enable) ? 1 : 0
yaml_body = <<-EOF
apiVersion: "vynil.solidite.fr/v1"
kind: "Install"
metadata:
name: "crd-argo-events"
namespace: "${var.namespace}"
labels: ${jsonencode(local.common-labels)}
spec:
distrib: "${var.component}"
category: "crd"
component: "argo-events"
options: ${jsonencode(local.crd-argo-events)}
EOF
}
resource "kubectl_manifest" "crd-argo-workflows" {
count = (var.crds.argo-workflows.enable) ? 1 : 0
yaml_body = <<-EOF
apiVersion: "vynil.solidite.fr/v1"
kind: "Install"
metadata:
name: "crd-argo-workflows"
namespace: "${var.namespace}"
labels: ${jsonencode(local.common-labels)}
spec:
distrib: "${var.component}"
category: "crd"
component: "argo-workflows"
options: ${jsonencode(local.crd-argo-workflows)}
EOF
}
resource "kubectl_manifest" "crd-whereabouts" {
count = (var.crds.whereabouts.enable ) ? 1 : 0
yaml_body = <<-EOF
apiVersion: "vynil.solidite.fr/v1"
kind: "Install"
metadata:
name: "crd-whereabouts"
namespace: "${var.namespace}"
labels: ${jsonencode(local.common-labels)}
spec:
distrib: "${var.component}"
category: "crd"
component: "whereabouts"
options: ${jsonencode(local.crd-whereabouts)}
EOF
}
resource "kubectl_manifest" "crd-volumesnapshot" {
count = (var.crds.volumesnapshot.enable) ? 1 : 0
yaml_body = <<-EOF
apiVersion: "vynil.solidite.fr/v1"
kind: "Install"
metadata:
name: "crd-volumesnapshot"
namespace: "${var.namespace}"
labels: ${jsonencode(local.common-labels)}
spec:
distrib: "${var.component}"
category: "crd"
component: "volumesnapshot"
options: ${jsonencode(local.crd-volumesnapshot)}
EOF
}