Skip to content

fix: verify AWS SSL connection - #246

Merged
ovesh merged 4 commits into
mainfrom
fix/verify-aws-ca
Jul 28, 2026
Merged

fix: verify AWS SSL connection#246
ovesh merged 4 commits into
mainfrom
fix/verify-aws-ca

Conversation

@declanyewlim

@declanyewlim declanyewlim commented Jul 27, 2026

Copy link
Copy Markdown
Collaborator

Verify the AWS boto3 connection with botocore default certificates.

A recent botocore release (v1.43.54) now raises an error when the AWS CA bundle value is an empty/whitespace-only string. Error is raised on CI when conda-build is run as it sets the REQUESTS_CA_BUNDLE to an empty string if unset.

Previous tests resolved to an older boto3 (and botocore) version where no verification was done, but no issue was raised.

@declanyewlim
declanyewlim marked this pull request as ready for review July 27, 2026 22:14
Comment thread genomekit_dev.yml Outdated
- importlib-metadata
- google-cloud-storage
- boto3
- boto3>=1.43.54

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

  1. why?
  2. do we need to update meta.yaml in the feedstock? (same for the explicit new dependency)

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

We don't technically need to pin the version here if we are setting the verify argument in the code. My idea was to pin the version to correctly surface the error of no SSL verification for the boto3 client. If we are setting the verify argument though, then the erroneous path will no longer be valid so we can remove it here.

The issue came from conda_build, where the REQUESTS_CA_BUNDLE env variable becomes an empty string if unset. This ended up with silent non verification for the connection as verify=="".

If we used the certifi certs, we would need to update the meta.yaml. botocore does come with a default set of certificates, so it would make more sense to use those instead rather than choose the certifi certificates.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

botocore does come with a default set of certificates, so it would make more sense to use those instead rather than choose the certifi certificates.

That makes sense, shall we try that?

@declanyewlim declanyewlim Jul 28, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

yep setting verify=True uses the default botocore certs. So certifi is still in the environment (from google-cloud-storage) and sphinx, but the SSL verification for the boto3 session will use the certs that come with the botocore package.

@declanyewlim declanyewlim changed the title fix: verify aws ca fix: verify AWS SSL connection Jul 28, 2026
@declanyewlim
declanyewlim requested a review from ovesh July 28, 2026 18:50
@ovesh
ovesh merged commit ec53862 into main Jul 28, 2026
30 checks passed
@ovesh
ovesh deleted the fix/verify-aws-ca branch July 28, 2026 19:08
@ovesh ovesh mentioned this pull request Jul 28, 2026
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.

3 participants