LOG-9077: Support TLS group (curve preference) configuration for PQC readiness - #3391
LOG-9077: Support TLS group (curve preference) configuration for PQC readiness#3391jcantrill wants to merge 1 commit into
Conversation
|
Skipping CI for Draft Pull Request. |
|
@jcantrill: This pull request references LOG-9077 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target either version "4.8." or "openshift-4.8.", but it targets "Logging 6.7.0" instead. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: jcantrill The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Add TLS curve preference support throughout the operator for Post-Quantum Cryptography readiness. Update openshift/api to pick up the Groups field on TLSProfileSpec and TLSGroup constants (openshift/api PR openshift#2583). Default groups are now derived from the upstream Intermediate TLS profile (Mozilla SSL config v5.8) rather than hardcoded. Core changes: - TLSGroupToID maps configv1.TLSGroup to crypto/tls.CurveID - TLSGroupsToOpenSSL converts groups to colon-separated OpenSSL names - TLSConfigFromProfile sets CurvePreferences on tls.Config - Vector configs get a curves field via the framework options pipeline - LFME receives groups via -groups= CLI argument Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Summary
openshift/apidependency to pick up the newGroupsfield onTLSProfileSpecandTLSGroupconstants (openshift/api PR LOG-5721: Refactor functional metrics tests #2583)curvesfield with colon-separated OpenSSL curve names (e.g.X25519MLKEM768:X25519:prime256v1:secp384r1)CurvePreferencesontls.Configfrom the profile-groups=CLI argumentDetails
Core TLS (
internal/tls/tls.go)TLSGroupToID(): mapsconfigv1.TLSGroupto Gocrypto/tls.CurveID(includingX25519MLKEM768from Go 1.25)TLSGroupsToOpenSSL(): converts groups to colon-separated OpenSSL names (handlessecp256r1→prime256v1mapping)TLSConfigFromProfile(): now setsCurvePreferenceson the returnedtls.ConfigDefaultTLSGroups: derived from upstream profile instead of hardcodedVector Config Generation
Groupsframework option threaded throughTLSProfileInfo()→SetTLSProfileOptionsFrom()→SetTLSProfile()→transport.TLS.Curvescurvesfield and Mozilla v5.8 cipher changes (DHE suites removed)Log-File-Metric-Exporter
-groups=CLI argument added to LFME container commandTest plan
make test-unit)TLSGroupToID(valid groups, unsupported group error)TLSGroupsToOpenSSL(conversion, empty input, skip unknown)CurvePreferencesinTLSConfigFromProfileTLSProfileInfotests verify groups return value🤖 Generated with Claude Code via
/jira:solve [LOG-9077](https://redhat.atlassian.net/browse/LOG-9077)