gitea/modules/setting
Michael Owoc 713364fc71
Support optional/configurable IAMEndpoint for Minio Client () ()
Targeting issue 

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.
..
config Customizable "Open with" applications for repository clone ()
actions.go Enable compression for Actions logs by default ()
actions_test.go Restrict `[actions].DEFAULT_ACTIONS_URL` to only `github` or `self` ()
admin.go Enhance USER_DISABLED_FEATURES to allow disabling change username or full name ()
api.go Refactor the setting to make unit test easier ()
asset_dynamic.go Use a general approach to access custom/static/builtin assets ()
asset_static.go Use a general approach to access custom/static/builtin assets ()
attachment.go Add avif image file support ()
attachment_test.go Fix all possible setting error related storages and added some tests ()
cache.go Always enable caches ()
camo.go Use camo.Always instead of camo.Allways ()
config.go Customizable "Open with" applications for repository clone ()
config_env.go Enable `unparam` linter ()
config_env_test.go Fix `environment-to-ini` inherited key bug ()
config_provider.go Initial support for colorblindness-friendly themes ()
config_provider_test.go Fix INI parsing for value with trailing slash ()
cors.go Refactor CORS handler ()
cron.go Replace `interface{}` with `any` ()
cron_test.go Rewrite queue ()
database.go Add slow SQL query warning ()
database_sqlite.go Implement FSFE REUSE for golang files ()
database_test.go Fix incorrect PostgreSQL connection string for Unix sockets ()
federation.go Remove SHA1 for support for ssh rsa signing ()
git.go Use `[git.config]` for reflog cleaning up ()
git_test.go Use `[git.config]` for reflog cleaning up ()
gloabl_lock.go Use global lock instead of NewExclusivePool to allow distributed lock between multiple Gitea instances ()
glob.go Improve grep search ()
global.go Fix duplicate sub-path for avatars ()
global_lock_test.go Use global lock instead of NewExclusivePool to allow distributed lock between multiple Gitea instances ()
highlight.go Refactor the setting to make unit test easier ()
i18n.go Refactor the setting to make unit test easier ()
incoming_email.go Resolve lint for unused parameter and unnecessary type arguments ()
indexer.go Improve grep search ()
indexer_test.go Implement FSFE REUSE for golang files ()
lfs.go Use 8 as default value for git lfs concurrency ()
lfs_test.go Use 8 as default value for git lfs concurrency ()
log.go Refactor "dump" sub-command ()
log_test.go Replace `interface{}` with `any` ()
mailer.go Add option to change mail from user display name ()
mailer_test.go Remove unnecessary code ()
markup.go Refactor markup render system ()
metrics.go Refactor the setting to make unit test easier ()
migrations.go Refactor the setting to make unit test easier ()
mime_type_map.go Refactor the setting to make unit test easier ()
mirror.go Avoid polluting the config ()
oauth2.go Always load or generate oauth2 jwt secret ()
oauth2_test.go Always load or generate oauth2 jwt secret ()
other.go Add `[other].SHOW_FOOTER_POWERED_BY` setting to hide `Powered by` ()
packages.go Add signature support for the RPM module ()
packages_test.go Fix all possible setting error related storages and added some tests ()
path.go Do not allow different storage configurations to point to the same directory ()
path_test.go Refactor path & config system ()
picture.go Fix all possible setting error related storages and added some tests ()
project.go Refactor the setting to make unit test easier ()
proxy.go Refactor the setting to make unit test easier ()
queue.go Increase queue length ()
repository.go Add `DEFAULT_MIRROR_REPO_UNITS` and `DEFAULT_TEMPLATE_REPO_UNITS` options ()
repository_archive.go Fix all possible setting error related storages and added some tests ()
repository_archive_test.go Fix all possible setting error related storages and added some tests ()
security.go Save initial signup information for users to aid in spam prevention ()
server.go Fix duplicate sub-path for avatars ()
service.go Add `DISABLE_ORGANIZATIONS_PAGE` and `DISABLE_CODE_PAGE` settings for explore pages and fix an issue related to user search ()
service_test.go Fix allowed user types setting problem ()
session.go Refactor startup deprecation messages ()
setting.go Use global lock instead of NewExclusivePool to allow distributed lock between multiple Gitea instances ()
setting_test.go Implement FSFE REUSE for golang files ()
ssh.go Expanded minimum RSA Keylength to 3072 ()
storage.go Support optional/configurable IAMEndpoint for Minio Client () ()
storage_test.go Support optional/configurable IAMEndpoint for Minio Client () ()
task.go handle deprecated settings ()
time.go Enable more `revive` linter rules ()
ui.go Fix `recentupdate` sorting bugs ()
webhook.go Refactor the setting to make unit test easier ()