Skip to content

Commit ad3efec

Browse files
committed
disables feature gate ACMEHTTP01IngressPathTypeExact
1 parent 02b17f7 commit ad3efec

4 files changed

Lines changed: 18 additions & 1 deletion

File tree

bindata/cert-manager-deployment/controller/cert-manager-deployment.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ spec:
3636
- --leader-election-namespace=kube-system
3737
- --acme-http01-solver-image=quay.io/jetstack/cert-manager-acmesolver:v1.18.2
3838
- --max-concurrent-challenges=60
39+
- --feature-gates=ACMEHTTP01IngressPathTypeExact=false
3940
command:
4041
- /app/cmd/controller/controller
4142
env:

jsonnet/main.jsonnet

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,19 @@ local processManifests(manifest) =
4747
if std.startsWith(arg, dsdnArgKey) == false
4848
] + [
4949
if std.length(dsdnArgVal) > 0 then (dsdnArgKey + dsdnArgVal)
50-
]),
50+
] + (
51+
// Temporary workaround: Disable ACMEHTTP01IngressPathTypeExact feature gate
52+
// for OpenShift compatibility. This should be removed when OpenShift's
53+
// ingress-to-route controller supports Exact path type (RFE-4169).
54+
//
55+
// Background: cert-manager 1.18 changed ACME HTTP01 challenge ingress path type
56+
// from ImplementationSpecific to Exact, but OpenShift's ingress-to-route controller
57+
// doesn't support Exact path type, causing 503 errors during HTTP01 challenges.
58+
if container.name == 'cert-manager-controller' then
59+
['--feature-gates=ACMEHTTP01IngressPathTypeExact=false']
60+
else
61+
[]
62+
)),
5163
}
5264
for container in super.containers
5365
],

pkg/controller/deployment/deployment_overrides_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ func TestUnsupportedConfigOverrides(t *testing.T) {
3535
"--leader-election-namespace=kube-system",
3636
"--acme-http01-solver-image=quay.io/jetstack/cert-manager-acmesolver:v1.18.2",
3737
"--max-concurrent-challenges=60",
38+
"--feature-gates=ACMEHTTP01IngressPathTypeExact=false",
3839
},
3940
"cert-manager-cainjector": {
4041
"--v=2",
@@ -122,6 +123,7 @@ func TestUnsupportedConfigOverrides(t *testing.T) {
122123
wantArgs: []string{
123124
"--acme-http01-solver-image=quay.io/jetstack/cert-manager-acmesolver:v1.18.2",
124125
"--cluster-resource-namespace=$(POD_NAMESPACE)",
126+
"--feature-gates=ACMEHTTP01IngressPathTypeExact=false",
125127
"--featureX=enable",
126128
"--leader-election-namespace=kube-system",
127129
"--max-concurrent-challenges=60",
@@ -173,6 +175,7 @@ func TestUnsupportedConfigOverrides(t *testing.T) {
173175
wantArgs: []string{
174176
"--acme-http01-solver-image=quay.io/jetstack/cert-manager-acmesolver:v1.18.2",
175177
"--cluster-resource-namespace=$(POD_NAMESPACE)",
178+
"--feature-gates=ACMEHTTP01IngressPathTypeExact=false",
176179
"--featureY=disable",
177180
"--leader-election-namespace=kube-system",
178181
"--max-concurrent-challenges=60",

pkg/operator/assets/bindata.go

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)