Skip to content

apple-codesign: don't use aws_config::defaults for S3 client during notarization#291

Open
a7g4 wants to merge 1 commit intoindygreg:mainfrom
a7g4:dont_use_defaults
Open

apple-codesign: don't use aws_config::defaults for S3 client during notarization#291
a7g4 wants to merge 1 commit intoindygreg:mainfrom
a7g4:dont_use_defaults

Conversation

@a7g4
Copy link

@a7g4 a7g4 commented Mar 13, 2026

This changes the S3 client construction to not use aws_config::defaults. It will still load the latest behaviour version though.

aws_config::defaults will load configuration from the environment and ~/.aws (and probably other places?). We explicitly don't want to load them and any credential providers/service overrides they provide because Apple's workflow explicitly specifies everything with their STS.

Testing

Tested with an without config overrides in ~/.aws and ENV variables.

Simplest breaking test is to add this to ~/.aws/config:

[default]
endpoint_url = http://localhost

Prior to this change, notarization will fail by trying to upload the payload to localhost when aws_config::defaults loads that endpoint_url override.

After this change, notarization will correctly ignore the ~/.aws/config and overrides in the [default] section and succeed.

@a7g4 a7g4 force-pushed the dont_use_defaults branch from a48250f to e614b8d Compare March 13, 2026 21:04
@a7g4 a7g4 changed the title Don't use aws_config::defaults for S3 client during notarization apple-codesign: don't use aws_config::defaults for S3 client during notarization Mar 13, 2026
…otarization

This changes the S3 client construction to not use `aws_config::defaults`. It will still load the latest behaviour version though.

`aws_config::defaults` will load configuration from the environment and `~/.aws` (and probably other places?). We explicitly don't want to load them and any credential providers/service overrides they provide because Apple's workflow explicitly specifies everything with their STS.

Tested with an without config overrides in `~/.aws` and ENV variables.

Simplest breaking test is to add this to `~/.aws/config`:

```
[default]
endpoint_url = http://localhost
```

Prior to this change, notarization will fail by trying to upload the payload to `localhost` when `aws_config::defaults` loads that endpoint_url override.

After this change, notarization will correctly ignore the `~/.aws/config` and overrides in the `[default]` section and succeed.
@a7g4 a7g4 force-pushed the dont_use_defaults branch from e614b8d to 042dbc2 Compare March 13, 2026 21:26
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.

1 participant