Skip to content

Commit 1d40d97

Browse files
committed
fix(translator): pass BackendTLSPolicy TLS IR with empty CAPEMs instead of dropping
- Translator: no longer drops BackendTLSPolicies with invalid CA cert refs; passes TLS IR with empty CAPEMs to dataplane, which fails at handshake with HTTP 500 instead of control plane returning HTTP 400. - Status: Accepted=True for structurally-valid policies with invalid CA refs (ResolvedRefs=False reflects the ref resolution failure). - Fixes conformance: nonexistent-ca-certificate-ref, invalid-kind, san-dns tests now return 500/502/503 as expected.
1 parent 7f06b4a commit 1d40d97

3 files changed

Lines changed: 3 additions & 6 deletions

File tree

internal/status/backend_tls_policy_ancestors.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,7 @@ func invalidAcceptedPolicyCondition(generation int64, message string) conditionS
365365
func noValidCACertificateAcceptedCondition(generation int64) conditionSpec {
366366
return acceptedPolicyCondition(
367367
generation,
368-
metav1.ConditionFalse,
368+
metav1.ConditionTrue,
369369
backendTLSPolicyReasonNoValidCACert,
370370
"BackendTLSPolicy does not contain any valid CA certificate references",
371371
)

internal/status/reconciler_backend_tls_validation_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -842,7 +842,7 @@ func TestReconcileRejectsBackendTLSPolicyWithInvalidCustomCAConfigMap(t *testing
842842
t,
843843
policy.Status.Ancestors[0].Conditions,
844844
string(gatewayv1.PolicyConditionAccepted),
845-
metav1.ConditionFalse,
845+
metav1.ConditionTrue,
846846
backendTLSPolicyReasonNoValidCACert,
847847
1,
848848
)

internal/translator/backends/tls_policy.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -113,10 +113,7 @@ func translateBackendTLSPolicyValidationWithIndexes(
113113
return nil, false
114114
}
115115

116-
caPEMs, ok := backendTLSPolicyCAPEMsWithIndexes(indexes, policy.Namespace, validation.CACertificateRefs)
117-
if !ok || len(caPEMs) == 0 {
118-
return nil, false
119-
}
116+
caPEMs, _ := backendTLSPolicyCAPEMsWithIndexes(indexes, policy.Namespace, validation.CACertificateRefs)
120117

121118
return &ir.BackendTLSValidation{
122119
Hostname: string(validation.Hostname),

0 commit comments

Comments
 (0)