diff options
author | Giteabot <teabot@gitea.io> | 2023-06-14 02:36:52 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-14 08:36:52 +0200 |
commit | 21cd5c2f3d5c3914096f1ecfb2d2f1d13165caa4 (patch) | |
tree | 387e8150a764ef690cbb58a0f23e026b8e985b3b /routers/api/v1 | |
parent | 22948048b2637495ace3091c0e0a9c6a0d96ec30 (diff) | |
download | gitea-21cd5c2f3d5c3914096f1ecfb2d2f1d13165caa4.tar.gz gitea-21cd5c2f3d5c3914096f1ecfb2d2f1d13165caa4.zip |
Fix all possible setting error related storages and added some tests (#23911) (#25244)
Backport #23911 by @lunny
Follow up #22405
Fix #20703
This PR rewrites storage configuration read sequences with some breaks
and tests. It becomes more strict than before and also fixed some
inherit problems.
- Move storage's MinioConfig struct into setting, so after the
configuration loading, the values will be stored into the struct but not
still on some section.
- All storages configurations should be stored on one section,
configuration items cannot be overrided by multiple sections. The
prioioty of configuration is `[attachment]` > `[storage.attachments]` |
`[storage.customized]` > `[storage]` > `default`
- For extra override configuration items, currently are `SERVE_DIRECT`,
`MINIO_BASE_PATH`, `MINIO_BUCKET`, which could be configured in another
section. The prioioty of the override configuration is `[attachment]` >
`[storage.attachments]` > `default`.
- Add more tests for storages configurations.
- Update the storage documentations.
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Diffstat (limited to 'routers/api/v1')
-rw-r--r-- | routers/api/v1/repo/file.go | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/routers/api/v1/repo/file.go b/routers/api/v1/repo/file.go index e25def6df2..2b468d6e73 100644 --- a/routers/api/v1/repo/file.go +++ b/routers/api/v1/repo/file.go @@ -200,7 +200,7 @@ func GetRawFileOrLFS(ctx *context.APIContext) { return } - if setting.LFS.ServeDirect { + if setting.LFS.Storage.MinioConfig.ServeDirect { // If we have a signed url (S3, object storage), redirect to this directly. u, err := storage.LFS.URL(pointer.RelativePath(), blob.Name()) if u != nil && err == nil { @@ -320,7 +320,7 @@ func download(ctx *context.APIContext, archiveName string, archiver *repo_model. downloadName := ctx.Repo.Repository.Name + "-" + archiveName rPath := archiver.RelativePath() - if setting.RepoArchive.ServeDirect { + if setting.RepoArchive.Storage.MinioConfig.ServeDirect { // If we have a signed url (S3, object storage), redirect to this directly. u, err := storage.RepoArchives.URL(rPath, downloadName) if u != nil && err == nil { |