Michael Owoc 713364fc71 Support optional/configurable IAMEndpoint for Minio Client (#32581) (#32581)
Targeting issue #32271

This modification allows native Kubernetes + AWS (EKS) authentication
with the Minio client, to Amazon S3 using the IRSA role assigned to a
Service account by replacing the hard coded reference to the
`DefaultIAMRoleEndpoint` with an optional configurable endpoint.

Internally, Minio's `credentials.IAM` provider implements a discovery
flow for IAM Endpoints if it is not set.

For backwards compatibility: 
- We have added a configuration mechanism for an `IamEndpoint` to retain
the unit test safety in `minio_test.go`.
- We believe existing clients will continue to function the same without
needing to provide a new config property since the internals of Minio
client also often resolve to the `http://169.254.169.254` default
endpoint that was being hard coded before

To test, we were able to build a docker image from source and, observe
it choosing the expected IAM endpoint, and see files uploaded via the
client.
2024-11-22 20:12:06 +00:00
..
2023-12-19 09:29:05 +00:00
2024-06-11 18:47:45 +00:00
2023-12-25 20:13:18 +08:00
2023-05-08 19:49:59 +08:00
2023-07-04 18:36:08 +00:00
2024-05-03 09:13:48 +00:00
2024-05-03 09:13:48 +00:00
2024-04-03 02:16:46 +00:00
2023-06-18 16:10:44 +00:00
2023-10-10 18:47:49 +08:00
2023-02-20 16:18:26 -06:00
2024-11-15 04:36:22 +00:00