Skip to content

Commit 85a20f3

Browse files
Outline behavior for empty or unknown tlsAdherence value
1 parent 937fdae commit 85a20f3

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

enhancements/security/centralized-tls-config.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,16 @@ The `tlsAdherence` field will be introduced behind a feature gate:
308308
- **Initial State:** Tech Preview
309309
- **Promotion Path:** Promote to GA quickly once core components are confirmed to honor the field
310310

311+
**Component Interaction with the Feature Gate:** The feature gate controls whether the `tlsAdherence` field is accepted by the API server — components themselves do not need to check the feature gate. Because the field is optional (`+optional`, `omitempty`), components only need to handle the field's value when unmarshaling the APIServer config:
312+
313+
- Field not present (feature gate disabled, or field never set): unmarshals as `""` → treat as `LegacyAdheringComponentsOnly`
314+
- Field present but empty (`""`): treat as `LegacyAdheringComponentsOnly`
315+
- Field set to `LegacyAdheringComponentsOnly`: treat as `LegacyAdheringComponentsOnly`
316+
- Field set to `StrictAllComponents`: treat as `StrictAllComponents`
317+
- Field set to any other value: treat as `StrictAllComponents` and log a warning about the unknown enum value
318+
319+
This means components do not need to set up feature gate watching or add feature-gate-specific code paths. The `ShouldHonorClusterTLSProfile` helper in library-go encapsulates all of this logic.
320+
311321
### Related Work
312322

313323
**TLS Curves:** A separate enhancement (led by Davide Salerno) adds TLS curve configuration to the existing TLS security profile. This applies to all components, not just Ingress.

0 commit comments

Comments
 (0)