Skip to content

Use fips-140-3 compliance policy - #2217

Open
nrfox wants to merge 5 commits into
istio-ecosystem:mainfrom
nrfox:fips-140-3
Open

Use fips-140-3 compliance policy#2217
nrfox wants to merge 5 commits into
istio-ecosystem:mainfrom
nrfox:fips-140-3

Conversation

@nrfox

@nrfox nrfox commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

What type of PR is this?

  • Enhancement / New Feature
  • Bug Fix
  • Refactor
  • Optimization
  • Test
  • Documentation Update

What this PR does / why we need it:

When Istio version > 1.30, fips-140-3 policy should be used since Istio 1.31 is built with go1.26 and go's FIPS mode is certified on platforms that have openssl crypto backends.

Which issue(s) this PR fixes:

Fixes #

Related Issue/PR #

Additional information:

When Istio version > 1.30, `fips-140-3` policy should be used since
Istio 1.31 is built with go1.26 and the upstream FIPS mode is certified
for go1.26.

Signed-off-by: Nick Fox <nfox@redhat.com>
Signed-off-by: Nick Fox <nfox@redhat.com>
@codecov

codecov Bot commented Aug 4, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 93.33333% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 83.37%. Comparing base (6e46a23) to head (a0bf752).
⚠️ Report is 43 commits behind head on main.

Files with missing lines Patch % Lines
pkg/revision/values.go 50.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2217      +/-   ##
==========================================
+ Coverage   78.88%   83.37%   +4.49%     
==========================================
  Files          59       60       +1     
  Lines        3272     2918     -354     
==========================================
- Hits         2581     2433     -148     
+ Misses        534      485      -49     
+ Partials      157        0     -157     
Flag Coverage Δ
integration-tests 73.87% <40.00%> (+5.68%) ⬆️
unit-tests 62.54% <93.33%> (+6.73%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

This uses the go std lib check for FIPS being enabled rather than the
existing one which reads from the filesystem.

Signed-off-by: Nick Fox <nfox@redhat.com>
Passes testing.TB to helper.

Signed-off-by: Nick Fox <nfox@redhat.com>
Comment thread pkg/istiovalues/fips.go Outdated
detectFipsMode(FipsEnableFilePath)
}
// This is separated out solely to let tests override it.
var fipsEnabled = fips140.Enabled

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hmm. I'm not sure this is correct. Aren't we setting COMPLIANCE_POLICY now always, because FIPS in Go is enabled at build time? and won't that break the other TLS settings work?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll revert this change. I don't think there's support for autodetecting FIPS from the hardware in upstream golang. Even if there was it shouldn't be included with this change.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reverted this part of the PR. Now this PR only is concerned with conditionally setting fips-140-3.

We can't use the stdlib package func because it doesn't check the
underlying hardware.

Signed-off-by: Nick Fox <nfox@redhat.com>
@istio-testing

Copy link
Copy Markdown
Collaborator

@nrfox: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
e2e-kind-multicluster_sail-operator_main a0bf752 link true /test e2e-kind-multicluster
e2e-kind_sail-operator_main a0bf752 link true /test e2e-kind
e2e-kind-dualstack_sail-operator_main a0bf752 link true /test e2e-kind-dualstack
e2e-kind-olm_sail-operator_main a0bf752 link true /test e2e-kind-olm
Details

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 kubernetes-sigs/prow repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants