This commit is contained in:
2023-10-19 13:07:09 +02:00
parent fb3e9f56eb
commit a6ae543cfe
40 changed files with 963 additions and 1080 deletions

View File

@@ -1,27 +1,7 @@
locals {
collabora-labels = merge(local.common-labels, {
"app.kubernetes.io/component" = "collabora"
})
dns-collabora = "collabora.${local.dns-name}"
collabora-middlewares = ["${var.instance}-https"]
collabora-service = {
"name" = "${var.instance}-collabora"
"port" = {
"number" = 80
}
}
collabora-rules = [ for v in [local.dns-collabora] : {
"host" = "${v}"
"http" = {
"paths" = [{
"backend" = {
"service" = local.collabora-service
}
"path" = "/"
"pathType" = "Prefix"
}]
}
}]
collabora-labels = merge(local.common-labels, {
"app.kubernetes.io/component" = "collabora"
})
}
resource "kubectl_manifest" "collabora_deploy" {
@@ -96,63 +76,3 @@ resource "kubectl_manifest" "collabora_deploy" {
- SYS_ADMIN
EOF
}
resource "kubectl_manifest" "collabora_svc" {
count = var.apps.collabora ? 1 : 0
yaml_body = <<-EOF
apiVersion: v1
kind: Service
metadata:
name: "${var.instance}-collabora"
namespace: "${var.namespace}"
labels: ${jsonencode(local.collabora-labels)}
spec:
type: ClusterIP
ports:
- port: 80
targetPort: 9980
protocol: TCP
name: http
selector: ${jsonencode(local.collabora-labels)}
EOF
}
resource "kubectl_manifest" "collabora_certificate" {
count = var.apps.collabora ? 1 : 0
yaml_body = <<-EOF
apiVersion: "cert-manager.io/v1"
kind: "Certificate"
metadata:
name: "${var.instance}-collabora"
namespace: "${var.namespace}"
labels: ${jsonencode(local.collabora-labels)}
spec:
secretName: "${var.instance}-collabora-cert"
dnsNames: [${jsonencode(local.dns-collabora)}]
issuerRef:
name: "${var.issuer}"
kind: "ClusterIssuer"
group: "cert-manager.io"
EOF
}
resource "kubectl_manifest" "collabora_ing" {
count = var.apps.collabora ? 1 : 0
yaml_body = <<-EOF
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: "${var.instance}-collabora"
namespace: "${var.namespace}"
labels: ${jsonencode(local.collabora-labels)}
annotations:
"traefik.ingress.kubernetes.io/router.middlewares": "${join(",", [for m in local.collabora-middlewares : format("%s-%s@kubernetescrd", var.namespace, m)])}"
spec:
ingressClassName: "${var.ingress-class}"
rules: ${jsonencode(local.collabora-rules)}
tls:
- hosts: [${local.dns-collabora}]
secretName: "${var.instance}-collabora-cert"
EOF
}