File tree Expand file tree Collapse file tree 3 files changed +113
-2
lines changed Expand file tree Collapse file tree 3 files changed +113
-2
lines changed Original file line number Diff line number Diff line change @@ -29,5 +29,64 @@ resource "helm_release" "cert_manager" {
29
29
value = " 30"
30
30
}
31
31
32
+ count = var. cert_manager_enabled ? 1 : 0
33
+ }
34
+
35
+ resource "kubernetes_manifest" "clusterissuer_letsencrypt_prod" {
36
+ manifest = {
37
+ " apiVersion" = " cert-manager.io/v1"
38
+ " kind" = " ClusterIssuer"
39
+ " metadata" = {
40
+ " name" = " letsencrypt-prod"
41
+ }
42
+ " spec" = {
43
+ " acme" = {
44
+ " email" = " ${ var . ingress_email_issuer } "
45
+ " privateKeySecretRef" = {
46
+ " name" = " letsencrypt-prod"
47
+ }
48
+ " server" = " https://acme-v02.api.letsencrypt.org/directory"
49
+ " solvers" = [
50
+ {
51
+ " http01" = {
52
+ " ingress" = {
53
+ " class" = " nginx"
54
+ }
55
+ }
56
+ },
57
+ ]
58
+ }
59
+ }
60
+ }
61
+
62
+ count = var. cert_manager_enabled ? 1 : 0
63
+ }
64
+ resource "kubernetes_manifest" "clusterissuer_letsencrypt_staging" {
65
+ manifest = {
66
+ " apiVersion" = " cert-manager.io/v1"
67
+ " kind" = " ClusterIssuer"
68
+ " metadata" = {
69
+ " name" = " letsencrypt-staging"
70
+ }
71
+ " spec" = {
72
+ " acme" = {
73
+ " email" = " ${ var . ingress_email_issuer } "
74
+ " privateKeySecretRef" = {
75
+ " name" = " letsencrypt-staging"
76
+ }
77
+ " server" = " https://acme-staging-v02.api.letsencrypt.org/directory"
78
+ " solvers" = [
79
+ {
80
+ " http01" = {
81
+ " ingress" = {
82
+ " class" = " nginx"
83
+ }
84
+ }
85
+ },
86
+ ]
87
+ }
88
+ }
89
+ }
90
+
32
91
count = var. cert_manager_enabled ? 1 : 0
33
92
}
Original file line number Diff line number Diff line change @@ -13,11 +13,11 @@ locals {
13
13
# Helm repos
14
14
helm_repository = {
15
15
ingress_nginx = " https://kubernetes.github.io/ingress-nginx"
16
- ingress_nginx_version = " 4.2.3 "
16
+ ingress_nginx_version = " 4.2.5 "
17
17
jetstack = " https://charts.jetstack.io" # cert-manager
18
18
jetstack_version = " 1.9.1" # cert-manager
19
19
grafana = " https://grafana.github.io/helm-charts"
20
- grafana_version = " 6.34 .0"
20
+ grafana_version = " 6.38 .0"
21
21
prometheus = " https://prometheus-community.github.io/helm-charts"
22
22
prometheus_version = " 15.12.0"
23
23
metrics_server = " https://kubernetes-sigs.github.io/metrics-server"
Original file line number Diff line number Diff line change 149
149
count = var. grafana_enabled ? 1 : 0
150
150
}
151
151
152
+ # # Grafana Ingress
153
+ resource "kubernetes_ingress_v1" "grafana" {
154
+ wait_for_load_balancer = true
155
+ metadata {
156
+ name = " grafana"
157
+ namespace = kubernetes_namespace. cluster_tools . id
158
+ annotations = local. ingress_nginx_annotations
159
+ }
160
+ spec {
161
+ ingress_class_name = " nginx"
162
+ rule {
163
+ http {
164
+ path {
165
+ path = " /grafana(/|$)(.*)"
166
+ path_type = " Prefix"
167
+ backend {
168
+ service {
169
+ name = " grafana"
170
+ port {
171
+ number = 80
172
+ }
173
+ }
174
+ }
175
+ }
176
+ }
177
+ }
178
+
179
+ dynamic "rule" {
180
+ for_each = local. ingress_hosts
181
+ content {
182
+ host = rule. value
183
+ http {
184
+ path {
185
+ path = " /grafana(/|$)(.*)"
186
+ path_type = " Prefix"
187
+ backend {
188
+ service {
189
+ name = " grafana"
190
+ port {
191
+ number = 80
192
+ }
193
+ }
194
+ }
195
+ }
196
+ }
197
+ }
198
+ }
199
+ }
200
+ depends_on = [helm_release . ingress_nginx , helm_release . grafana ]
201
+
202
+ count = (var. grafana_enabled && var. ingress_nginx_enabled ) ? 1 : 0
203
+ }
152
204
# # Kubernetes Secret: Grafana Admin Password
153
205
data "kubernetes_secret" "grafana" {
154
206
metadata {
You can’t perform that action at this time.
0 commit comments