gitea/modules/storage
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
..
testdata
azureblob.go Fix `missing signature key` error when pulling Docker images with `SERVE_DIRECT` enabled (#32365) 2024-10-31 15:28:25 +00:00
azureblob_test.go
helper.go Fix `missing signature key` error when pulling Docker images with `SERVE_DIRECT` enabled (#32365) 2024-10-31 15:28:25 +00:00
helper_test.go Fix `missing signature key` error when pulling Docker images with `SERVE_DIRECT` enabled (#32365) 2024-10-31 15:28:25 +00:00
local.go Fix `missing signature key` error when pulling Docker images with `SERVE_DIRECT` enabled (#32365) 2024-10-31 15:28:25 +00:00
local_test.go
minio.go Support optional/configurable IAMEndpoint for Minio Client (#32581) (#32581) 2024-11-22 20:12:06 +00:00
minio_test.go Support optional/configurable IAMEndpoint for Minio Client (#32581) (#32581) 2024-11-22 20:12:06 +00:00
storage.go Add artifacts test fixture (#30300) 2024-11-01 10:29:54 +08:00
storage_test.go