-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathingress_route.tf
51 lines (48 loc) · 1.34 KB
/
ingress_route.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
resource "kubernetes_manifest" "this-ingress-route" {
manifest = yamldecode(local.ingress-route-manifest)
count = 0
}
locals {
ingress-route-manifest = <<EOF
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: ${var.release-name}
namespace: "${kubernetes_namespace.this.metadata[0].name}"
annotations:
cert-manager.io/cluster-issuer: "${var.cluster-issuer}"
spec:
entryPoints:
- web
- websecure
routes:
- kind: Rule
match: Host(`${local.fqdn}`) && PathPrefix(`/`)
priority: 10
middlewares:
- name: "${local.middleware-cdn-rewrite-name}"
namespace: "${kubernetes_namespace.this.metadata[0].name}"
%{for middleware in var.additional-middlewares-map}
- name: ${middleware.name}@kubernetescrd
namespace: ${middleware.namespace}
%{endfor}
services:
- kind: Service
name: ${var.release-name}-${var.release-chart}
namespace: ${kubernetes_namespace.this.metadata[0].name}
#passHostHeader: true
port: 80
#responseForwarding:
# flushInterval: 1ms
#scheme: https
#serversTransport: transport
tls:
secretName: "${local.fqdn}-secret"
#options:
# name:
# namespace: default
certResolver: "${var.cluster-issuer}"
domains:
- main: ${local.fqdn}
EOF
}