Skip to content

Commit 88a59b6

Browse files
committed
fix(ingress): resolve merge conflict and merge RBAC/IngressClass configurations
1 parent d14c358 commit 88a59b6

File tree

1 file changed

+42
-0
lines changed
  • ingress-controller/terraform

1 file changed

+42
-0
lines changed

ingress-controller/terraform/main.tf

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,11 @@ resource "helm_release" "nginx_ingress" {
109109
value = "true"
110110
}
111111

112+
set {
113+
name = "controller.enableCustomResources"
114+
value = "true"
115+
}
116+
112117
# Wait for the LoadBalancer to be ready
113118
wait = true
114119
timeout = 600
@@ -142,6 +147,43 @@ resource "kubernetes_manifest" "ingress_class" {
142147
depends_on = [helm_release.nginx_ingress]
143148
}
144149

150+
# ClusterRole extension for cert-manager and Ingress status
151+
resource "kubernetes_cluster_role" "nginx_ingress_extension" {
152+
metadata {
153+
name = "nginx-ingress-cert-manager-extension"
154+
}
155+
156+
rule {
157+
api_groups = ["cert-manager.io"]
158+
resources = ["certificates", "certificaterequests"]
159+
verbs = ["get", "list", "watch"]
160+
}
161+
162+
rule {
163+
api_groups = ["networking.k8s.io"]
164+
resources = ["ingresses/status"]
165+
verbs = ["update"]
166+
}
167+
}
168+
169+
resource "kubernetes_cluster_role_binding" "nginx_ingress_extension" {
170+
metadata {
171+
name = "nginx-ingress-cert-manager-extension-binding"
172+
}
173+
174+
role_ref {
175+
api_group = "rbac.authorization.k8s.io"
176+
kind = "ClusterRole"
177+
name = kubernetes_cluster_role.nginx_ingress_extension.metadata[0].name
178+
}
179+
180+
subject {
181+
kind = "ServiceAccount"
182+
name = "${var.release_name}-nginx-ingress"
183+
namespace = var.namespace
184+
}
185+
}
186+
145187
# Explicit cleanup on destroy - removes IngressClass first, then namespace
146188
resource "null_resource" "namespace_cleanup" {
147189
count = var.install_nginx_ingress ? 1 : 0

0 commit comments

Comments
 (0)