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

[build] Add Docker images with FIPS #175946

Merged
merged 50 commits into from
Feb 7, 2024

Conversation

Ikuni17
Copy link
Contributor

@Ikuni17 Ikuni17 commented Jan 31, 2024

Summary

Closes elastic/kibana-operations/issues/24

This adds a second flavor of UBI image (kibana-ubi-fips) which has a FIPS compliant version of OpenSSL compiled and linked to Node. Using the label ci:build-docker-fips will create the image in CI and push to the registry.

The FIPS image start the Kibana NodeJS process using the FIPS compliant OpenSSL version. Kibana will start in this state but crash during runtime because there are many code changes required for it to be FIPS compliant, including node_module usage. I attempted numerous ways to load other OpenSSL providers alongside the FIPS provider, but it always led to Kibana crashing on invalid algorithm usage.

@Ikuni17 Ikuni17 added Team:Operations Team label for Operations Team release_note:skip Skip the PR/issue when compiling release notes backport:skip This commit does not require backporting v8.13.0 labels Jan 31, 2024
@Ikuni17 Ikuni17 self-assigned this Jan 31, 2024
@Ikuni17 Ikuni17 requested a review from a team as a code owner January 31, 2024 01:40
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-operations (Team:Operations)

@Ikuni17 Ikuni17 added the ci:build-docker-fips Build Docker FIPS image label Feb 1, 2024
@Ikuni17 Ikuni17 force-pushed the feature/24/docker-img-fips-provider branch from 4640cb6 to caff9c6 Compare February 1, 2024 02:18
@Ikuni17
Copy link
Contributor Author

Ikuni17 commented Feb 1, 2024

I added support to build FIPS images in CI with 18986b2

For now they are in the build distribution step artifacts: https://buildkite.com/elastic/kibana-pull-request/builds/190640#018d6276-87ab-4ef9-9d3e-17d249ac0e79

The images built in CI are not loading FIPS properly due to self test failing, so investigating.

@Ikuni17 Ikuni17 requested a review from a team as a code owner February 6, 2024 16:29
Copy link
Contributor

@cauemarcondes cauemarcondes left a comment

Choose a reason for hiding this comment

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

Profiling LGTM

@Ikuni17 Ikuni17 requested review from jbudz and mistic February 6, 2024 16:55
Co-authored-by: Tiago Costa <tiago.costa@elastic.co>
Copy link
Member

@mistic mistic left a comment

Choose a reason for hiding this comment

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

lgtm

@kibana-ci
Copy link
Collaborator

💛 Build succeeded, but was flaky

Failed CI Steps

Metrics [docs]

✅ unchanged

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

cc @Ikuni17

@Ikuni17 Ikuni17 merged commit e448334 into elastic:main Feb 7, 2024
21 checks passed
@Ikuni17 Ikuni17 deleted the feature/24/docker-img-fips-provider branch February 7, 2024 20:09
fkanout pushed a commit to fkanout/kibana that referenced this pull request Feb 8, 2024
## Summary
Closes elastic/kibana-operations/issues/24

This adds a second flavor of UBI image (`kibana-ubi-fips`) which has a
FIPS compliant version of OpenSSL compiled and linked to Node. Using the
label `ci:build-docker-fips` will create the image in CI and push to the
registry.

The FIPS image start the Kibana NodeJS process using the FIPS compliant
OpenSSL version. Kibana will start in this state but crash during
runtime because there are many code changes required for it to be FIPS
compliant, including `node_module` usage. I attempted numerous ways to
load other OpenSSL providers alongside the FIPS provider, but it always
led to Kibana crashing on invalid algorithm usage.

---------

Co-authored-by: Tiago Costa <tiago.costa@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
CoenWarmer pushed a commit to CoenWarmer/kibana that referenced this pull request Feb 15, 2024
## Summary
Closes elastic/kibana-operations/issues/24

This adds a second flavor of UBI image (`kibana-ubi-fips`) which has a
FIPS compliant version of OpenSSL compiled and linked to Node. Using the
label `ci:build-docker-fips` will create the image in CI and push to the
registry.

The FIPS image start the Kibana NodeJS process using the FIPS compliant
OpenSSL version. Kibana will start in this state but crash during
runtime because there are many code changes required for it to be FIPS
compliant, including `node_module` usage. I attempted numerous ways to
load other OpenSSL providers alongside the FIPS provider, but it always
led to Kibana crashing on invalid algorithm usage.

---------

Co-authored-by: Tiago Costa <tiago.costa@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
fkanout pushed a commit to fkanout/kibana that referenced this pull request Mar 4, 2024
## Summary
Closes elastic/kibana-operations/issues/24

This adds a second flavor of UBI image (`kibana-ubi-fips`) which has a
FIPS compliant version of OpenSSL compiled and linked to Node. Using the
label `ci:build-docker-fips` will create the image in CI and push to the
registry.

The FIPS image start the Kibana NodeJS process using the FIPS compliant
OpenSSL version. Kibana will start in this state but crash during
runtime because there are many code changes required for it to be FIPS
compliant, including `node_module` usage. I attempted numerous ways to
load other OpenSSL providers alongside the FIPS provider, but it always
led to Kibana crashing on invalid algorithm usage.

---------

Co-authored-by: Tiago Costa <tiago.costa@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport:skip This commit does not require backporting ci:build-docker-fips Build Docker FIPS image release_note:skip Skip the PR/issue when compiling release notes Team:Operations Team label for Operations Team v8.13.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants