Skip to content

Conversation

@sky1122
Copy link
Contributor

@sky1122 sky1122 commented Dec 22, 2025

Issue number:

Closes #

Description of changes:

Switch Kubernetes to use Go 1.24+ runtime FIPS support.
Packaging the GODEBUG=fips140=only config file in fips variants

Note: these are the minimal changes for switching Go 1.24+ runtime FIPS support.
The rest of the changes need to be clean up will go to a separate release with the SDK clean up release

Testing done:
working in progress

Terms of contribution:

By submitting this pull request, I agree that this contribution is dual-licensed under the terms of both the Apache License, version 2.0, and the MIT license.

Add fips-go.conf systemd drop-in that sets GODEBUG=fips140=only for
all services in FIPS variants. This enables Go's native FIPS 140-3
mode at runtime, restricting crypto packages to FIPS-approved algorithms.

Signed-off-by: Jingwei Wang <[email protected]>
Remove GOEXPERIMENT=boringcrypto from FIPS builds of kubelet and
kube-proxy. FIPS compliance is now handled at runtime via
GODEBUG=fips140=only using Go 1.24+ native FIPS 140-3 support.

Signed-off-by: Jingwei Wang <[email protected]>

export KUBE_OUTPUT_SUBPATH="_fips_output/local"
export GOEXPERIMENT="boringcrypto"
# Runtime FIPS: use GODEBUG=fips140=only instead of compile-time boringcrypto
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think these comments are useful. In general, a comment should cover the current code and implementation details, not historical details that can be looked up in Git history.

The Kubernetes builds are complicated and have a lot of moving parts already, so in this case it might be better to just copy the same binaries into the FIPS and non-FIPS subpackages. It will also help compile times quite a lot.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants