Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dev build/add linux arm64 fips static #1381

Merged
merged 20 commits into from
Dec 20, 2023

Conversation

portertech
Copy link
Contributor

@portertech portertech commented Dec 7, 2023

Original pull-request: #1321

Closes: #1325

Background:
Our linux_amd64 FIPS binary has a required CGO dependency (boringcrypto) and is currently built as a dynamically linked executable. By contrast, our non-fips linux builds are pure go and are statically linked executables. Because of this our build infrastructure is limited, largely focused on producing a single portable static binary per target. In order to work around the system dependency introduced by dynamically linking c libraries, we have resorted to building our FIPS binary on an amazonlinux:2 container, as it has the lowest glibc version for any distribution we know of that we have agreed is necessary to support.

This change:

  • Adds a linux_arm64 FIPS build (cross compiled from the amd64 github hosted runners)
  • Changes our FIPS build to produce a static executable - linked with the musl libc instead of glibc (which cannot be reliably statically linked) in order to remove the system dependency and increase portability.

Future notes:
Once a native aarch64 build environment becomes available, it would be preferable to switch to using the native toolchain from alpine linux rather than building the toolchain ourselves. Let's link an issue to get that cleaned up.

c-kruse and others added 10 commits November 9, 2023 08:22
Signed-off-by: Christian Kruse <[email protected]>
Signed-off-by: Christian Kruse <[email protected]>

do not include c++ toolchain

Signed-off-by: Christian Kruse <[email protected]>
Signed-off-by: Christian Kruse <[email protected]>
Signed-off-by: Christian Kruse <[email protected]>
@portertech portertech marked this pull request as ready for review December 19, 2023 17:50
@portertech portertech requested a review from a team as a code owner December 19, 2023 17:50
@portertech
Copy link
Contributor Author

We need to validate fips operation on Amazon Linux.

Copy link
Contributor

@sumo-drosiek sumo-drosiek left a comment

Choose a reason for hiding this comment

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

Looks fine for me

Signed-off-by: Sean Porter <[email protected]>
@portertech portertech enabled auto-merge (squash) December 20, 2023 18:48
@portertech portertech merged commit 12a171a into main Dec 20, 2023
47 checks passed
@portertech portertech deleted the dev-build/add-linux-arm64-fips-static branch December 20, 2023 19:06
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.

Add linux/arm64 FIPS-capable build
3 participants