Skip to content

Commit 94ef2c8

Browse files
feat(ingress/legacy): wildcard TLS for private LBs (mirror k8s-native)
private (aws !acm_mode) → set wildcard_tls so the base issues a single wildcard cert via the shim against gts-production, matching the old nginx_k8s_native pattern. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 043f4c2 commit 94ef2c8

3 files changed

Lines changed: 15 additions & 0 deletions

File tree

  • modules/ingress
    • nginx_gateway_fabric_legacy_aws/1.0
    • nginx_gateway_fabric_legacy_azure/1.0
    • nginx_gateway_fabric_legacy_gcp/1.0

modules/ingress/nginx_gateway_fabric_legacy_aws/1.0/main.tf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,14 @@ locals {
5757
# terminates TLS with the ACM cert, no cert-manager involvement).
5858
cluster_issuer_override = lookup(var.instance.spec, "private", false) && !local.acm_mode ? "gts-production" : null
5959

60+
# Private + DNS-01 (non-ACM): one wildcard cert [domain, *.domain] per domain (single DNS-01
61+
# challenge) via the listenerset-shim + gts-production, instead of per-hostname HTTP-01 certs.
62+
wildcard_tls = lookup(var.instance.spec, "private", false) && !local.acm_mode
63+
6064
modified_instance = merge(var.instance, {
6165
spec = merge(var.instance.spec, {
6266
cluster_issuer_override = local.cluster_issuer_override
67+
wildcard_tls = local.wildcard_tls
6368
})
6469
})
6570
}

modules/ingress/nginx_gateway_fabric_legacy_azure/1.0/main.tf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,14 @@ locals {
2525
# gts-production DNS-01 ClusterIssuer instead.
2626
cluster_issuer_override = lookup(var.instance.spec, "private", false) ? "gts-production" : null
2727

28+
# Private: one wildcard cert [domain, *.domain] per domain (single DNS-01 challenge)
29+
# via the listenerset-shim + gts-production, instead of per-hostname HTTP-01 certs.
30+
wildcard_tls = lookup(var.instance.spec, "private", false)
31+
2832
modified_instance = merge(var.instance, {
2933
spec = merge(var.instance.spec, {
3034
cluster_issuer_override = local.cluster_issuer_override
35+
wildcard_tls = local.wildcard_tls
3136
})
3237
})
3338
}

modules/ingress/nginx_gateway_fabric_legacy_gcp/1.0/main.tf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,14 @@ locals {
2727
# gts-production DNS-01 ClusterIssuer instead.
2828
cluster_issuer_override = lookup(var.instance.spec, "private", false) ? "gts-production" : null
2929

30+
# Private: one wildcard cert [domain, *.domain] per domain (single DNS-01 challenge)
31+
# via the listenerset-shim + gts-production, instead of per-hostname HTTP-01 certs.
32+
wildcard_tls = lookup(var.instance.spec, "private", false)
33+
3034
modified_instance = merge(var.instance, {
3135
spec = merge(var.instance.spec, {
3236
cluster_issuer_override = local.cluster_issuer_override
37+
wildcard_tls = local.wildcard_tls
3338
})
3439
})
3540
}

0 commit comments

Comments
 (0)