-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Move fips_enabled
setting to AWS Common
#28899
Conversation
This pull request does not have a backport label. Could you fix it @legoguy1000? 🙏
NOTE: |
@kaiyan-sheng THoughts? Changes from the Discuss post above. |
💚 Build Succeeded
Expand to view the summary
Build stats
Test stats 🧪
💚 Flaky test reportTests succeeded. 🤖 GitHub commentsTo re-run your PR in the CI, just comment with:
|
@legoguy1000 +1 on moving this config to aws common! Thanks for working on it! |
I think I just need to update the docs and default config files and then should be ready for review. |
I did find 1 thing that may be problematic. If you look at https://aws.amazon.com/compliance/fips/, all the US East/West regions support the |
Pinging @elastic/integrations (Team:Platforms) |
2d8c0f9
to
a305266
Compare
@kaiyan-sheng I think its ready for review. I added a new TLS config to the AWS common module so if there is a need to change the trusted root certs, set insecure, ..... (mainly for self hosted/3rd party services). Also can be used for testing with something like https://localstack.cloud/. |
a305266
to
bf1d306
Compare
This pull request is now in conflicts. Could you fix it? 🙏
|
b465c0b
to
eb43944
Compare
This pull request is now in conflicts. Could you fix it? 🙏
|
eb43944
to
ef94728
Compare
@legoguy1000 Sorry I just came back from vacation. Will review this today!! |
/test |
Overall it looks good to me besides |
@kaiyan-sheng I think i ran all the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice.
One minor comment below. I'm ok with merging if the comment doesn't resonate with you.
func CreateServiceName(serviceName string, fipsEnabled bool, region string) string { | ||
if fipsEnabled { | ||
OptionalGovCloudFIPS := []string{"s3"} | ||
_, found := Find(OptionalGovCloudFIPS, serviceName) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor nit. If you switch to a Map, you can get rid of the Find
function. Also might be nice to have the OptionalGovCloudFIPS
var be package level with a godoc comment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can change it to a map.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
as for where to put the variable, i'm not a GoLang expert to know what is best but I can't see the variable being used outside of this function.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added the map
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reasoning behind moving variable to top level is for doc comments That way the comment shows up in the godoc output. Again not a big deal, and I'm ok with merging without moving.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think i moved it correctly. Please let me know otherwise.
This pull request is now in conflicts. Could you fix it? 🙏
|
This pull request is now in conflicts. Could you fix it? 🙏
|
/test |
@kaiyan-sheng @leehinman Anything more I need to do for this PR? |
/test |
@legoguy1000 Sorry I fixed the merge conflict and then realized lint is not happy 😂 Could you take a look when you get a chance please? TIA!! |
Are you able to tell what's causing the linter to fail? |
nevermind, I think I found it. |
@kaiyan-sheng Looks like AWS tests had issues due to the us-east-1 region issues today. May need to rerun the tests. |
/test |
This pull request is now in conflicts. Could you fix it? 🙏
|
1 similar comment
This pull request is now in conflicts. Could you fix it? 🙏
|
03146e3
to
79e29a7
Compare
(cherry picked from commit 377f97b)
) (cherry picked from commit 377f97b) Co-authored-by: Alex Resnick <[email protected]> Co-authored-by: kaiyan-sheng <[email protected]>
What does this PR do?
Moves the
fips_enabled
config option from the aws-s3 input to the AWS Common module to allow for any AWS related module to be able to use FIPS endpoints. Also updated all FIPS capable services to use the above config to set the endpoint. The only service that didn't support FIPS wastagging
. Also adds TLS configuration to the AWS common module.Why is it important?
Currently with the aws-s3 input the S3 bucket operations are able to use the FIPS endpoints but there is a single SQS API call that doesn't utilize FIPS if the setting is configured. Also the Cloudwatch input nor the AWS Metricbeat module are able to use FIPS currently. Reference https://discuss.elastic.co/t/sqs-client-ignores-the-fips-flag-for-the-service-endpoint/288687
Checklist
CHANGELOG.next.asciidoc
orCHANGELOG-developer.next.asciidoc
.Author's Checklist
How to test this PR locally
Related issues
Use cases
Screenshots
Logs