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

fix(cli): notices don't work behind a proxy #32590

Merged
merged 3 commits into from
Dec 20, 2024

Conversation

otaviomacedo
Copy link
Contributor

Issue

Fixes #32304

Reason for this change

The CLI doesn't respect the proxy configuration (either via command line or via environment variables) to fetch notices. As a result, customers who can only access the internet via a proxy will never see notices.

Description of changes

  • Proxy agent construction refactored into a public method, to be reused.
  • Settings has two new keys: proxy and caBundlePath.
  • These new settings are passed to the Notices class, which internally uses them to make the GET request to the notices URL.
  • Proxy integ test now also asserts that the notices URL is intercepted by the proxy.

Description of how you validated changes

Proxy integ test, and manual tests with mitmproxy.

Checklist


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license

@otaviomacedo otaviomacedo requested a review from a team as a code owner December 19, 2024 14:01
@github-actions github-actions bot added bug This issue is a bug. effort/medium Medium work item – several days of effort p1 labels Dec 19, 2024
@aws-cdk-automation aws-cdk-automation requested a review from a team December 19, 2024 14:01
@mergify mergify bot added the contribution/core This is a PR that came from AWS. label Dec 19, 2024
Copy link
Collaborator

@aws-cdk-automation aws-cdk-automation left a comment

Choose a reason for hiding this comment

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

The pull request linter has failed. See the aws-cdk-automation comment below for failure reasons. If you believe this pull request should receive an exemption, please comment and provide a justification.

A comment requesting an exemption should contain the text Exemption Request. Additionally, if clarification is needed add Clarification Request to a comment.

@aws-cdk-automation aws-cdk-automation added the pr/needs-cli-test-run This PR needs CLI tests run against it. label Dec 19, 2024
Copy link

codecov bot commented Dec 19, 2024

Codecov Report

Attention: Patch coverage is 92.30769% with 1 line in your changes missing coverage. Please review.

Project coverage is 79.15%. Comparing base (cbacf4d) to head (742a08a).

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #32590      +/-   ##
==========================================
+ Coverage   79.13%   79.15%   +0.02%     
==========================================
  Files         107      107              
  Lines        7131     7139       +8     
  Branches     1319     1321       +2     
==========================================
+ Hits         5643     5651       +8     
  Misses       1304     1304              
  Partials      184      184              
Flag Coverage Δ
suite.unit 79.15% <92.30%> (+0.02%) ⬆️

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

Components Coverage Δ
packages/aws-cdk 79.15% <92.30%> (+0.02%) ⬆️

Copy link
Contributor

@kaizencc kaizencc left a comment

Choose a reason for hiding this comment

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

I'm happy with this. Needing to add the relevant global options to the Settings object is exactly what my work is meant to avoid but there's no harm in adding it in right now. You might need to wrestle with codecov and integ tests to merge this though :)

Comment on lines +92 to +95
httpOptions: {
proxyAddress: configuration.settings.get(['proxy']),
caBundlePath: configuration.settings.get(['caBundlePath']),
},
Copy link
Contributor

Choose a reason for hiding this comment

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

this looks good to me

@otaviomacedo otaviomacedo added pr-linter/cli-integ-tested Assert that any CLI changes have been integ tested pr-linter/exempt-test The PR linter will not require test changes labels Dec 20, 2024
@aws-cdk-automation aws-cdk-automation removed the pr/needs-cli-test-run This PR needs CLI tests run against it. label Dec 20, 2024
@otaviomacedo otaviomacedo added the pr-linter/exempt-integ-test The PR linter will not require integ test changes label Dec 20, 2024
@aws-cdk-automation
Copy link
Collaborator

➡️ PR build request submitted to test-main-pipeline ⬅️

A maintainer must now check the pipeline and add the pr-linter/cli-integ-tested label once the pipeline succeeds.

@aws-cdk-automation aws-cdk-automation dismissed their stale review December 20, 2024 08:47

✅ Updated pull request passes all PRLinter validations. Dismissing previous PRLinter review.

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: AutoBuildv2Project1C6BFA3F-wQm2hXv2jqQv
  • Commit ID: 742a08a
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

Copy link
Contributor

mergify bot commented Dec 20, 2024

Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork).

Copy link
Contributor

mergify bot commented Dec 20, 2024

This pull request has been removed from the queue for the following reason: pull request dequeued.

Pull request #32590 has been dequeued. The pull request could not be merged. This could be related to an activated branch protection or ruleset rule that prevents us from merging. (detail: 2 of 6 required status checks are failing.).

You should look at the reason for the failure and decide if the pull request needs to be fixed or if you want to requeue it.

If you want to requeue this pull request, you need to post a comment with the text: @mergifyio requeue

@otaviomacedo otaviomacedo merged commit 3377c3b into main Dec 20, 2024
18 of 24 checks passed
@otaviomacedo otaviomacedo deleted the otaviom/notices-via-proxy branch December 20, 2024 12:26
Copy link

Comments on closed issues and PRs are hard for our team to see.
If you need help, please open a new issue that references this one.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Dec 20, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug This issue is a bug. contribution/core This is a PR that came from AWS. effort/medium Medium work item – several days of effort p1 pr-linter/cli-integ-tested Assert that any CLI changes have been integ tested pr-linter/exempt-integ-test The PR linter will not require integ test changes pr-linter/exempt-test The PR linter will not require test changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

cli: notices don't work behind a proxy
3 participants