Files
domain-incoming/apps/nextcloud/onlyoffice.tf
2024-05-12 12:03:32 +02:00

64 lines
1.9 KiB
HCL

locals {
onlyoffice-labels = merge(local.common_labels, {
"app.kubernetes.io/component" = "onlyoffice"
})
}
resource "kubectl_manifest" "onlyoffice_deploy" {
count = var.apps.onlyoffice ? 1 : 0
yaml_body = <<-EOF
apiVersion: apps/v1
kind: Deployment
metadata:
name: "${var.instance}-onlyoffice"
namespace: "${var.namespace}"
labels: ${jsonencode(local.onlyoffice-labels)}
spec:
replicas: 1
strategy:
type: RollingUpdate
selector:
matchLabels: ${jsonencode(local.onlyoffice-labels)}
template:
metadata:
labels: ${jsonencode(local.onlyoffice-labels)}
spec:
containers:
- name: "onlyoffice"
image: "${var.images.onlyoffice.registry}/${var.images.onlyoffice.repository}:${var.images.onlyoffice.tag}"
imagePullPolicy: "${var.images.onlyoffice.pull_policy}"
env:
- name: JWT_ENABLED
value: "true"
- name: JWT_SECRET
valueFrom:
secretKeyRef:
name: ${var.component}
key: onlyoffice-jwt-secret
livenessProbe:
httpGet:
path: /healthcheck
port: http
scheme: HTTP
initialDelaySeconds: 120
periodSeconds: 10
timeoutSeconds: 5
successThreshold: 1
failureThreshold: 5
readinessProbe:
httpGet:
path: /healthcheck
port: http
scheme: HTTP
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 2
successThreshold: 1
failureThreshold: 3
ports:
- name: http
containerPort: 80
protocol: TCP
EOF
}