47 lines
1.1 KiB
HCL
47 lines
1.1 KiB
HCL
resource "kubectl_manifest" "redirectdav" {
|
|
yaml_body = <<-EOF
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: Middleware
|
|
metadata:
|
|
name: "${var.instance}-redirectdav"
|
|
namespace: "${var.namespace}"
|
|
labels: ${jsonencode(local.common-labels)}
|
|
spec:
|
|
redirectRegex:
|
|
permanent: true
|
|
regex: "https://([^\\/]*)/.well-known/(card|cal)dav"
|
|
replacement: "https://$${1}/remote.php/dav/"
|
|
EOF
|
|
}
|
|
|
|
resource "kubectl_manifest" "redirectindex" {
|
|
yaml_body = <<-EOF
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: Middleware
|
|
metadata:
|
|
name: "${var.instance}-redirectindex"
|
|
namespace: "${var.namespace}"
|
|
labels: ${jsonencode(local.common-labels)}
|
|
spec:
|
|
redirectRegex:
|
|
permanent: false
|
|
regex: "https://([^\\/]*)/.well-known/(.*)"
|
|
replacement: "https://$${1}/index.php/.well-known/$${2}"
|
|
EOF
|
|
}
|
|
|
|
resource "kubectl_manifest" "sslenforce" {
|
|
yaml_body = <<-EOF
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: Middleware
|
|
metadata:
|
|
name: "${var.instance}-sslenforce"
|
|
namespace: "${var.namespace}"
|
|
labels: ${jsonencode(local.common-labels)}
|
|
spec:
|
|
headers:
|
|
stsSeconds: 15552000
|
|
stsIncludeSubdomains: true
|
|
EOF
|
|
}
|