forked from forgejo/forgejo
Provide self-registering storage system (#12978)
* Provide self-registering storage system Signed-off-by: Andrew Thornton <art27@cantab.net> * More simplification Signed-off-by: Andrew Thornton <art27@cantab.net> * Remove old strings from setting Signed-off-by: Andrew Thornton <art27@cantab.net> * oops attachments not attachment Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
This commit is contained in:
parent
ade9c8dc3c
commit
6b1266b6b3
10 changed files with 264 additions and 174 deletions
|
@ -37,40 +37,15 @@ func newLFSService() {
|
|||
}
|
||||
|
||||
lfsSec := Cfg.Section("lfs")
|
||||
LFS.Storage.Type = lfsSec.Key("STORAGE_TYPE").MustString("")
|
||||
if LFS.Storage.Type == "" {
|
||||
LFS.Storage.Type = "default"
|
||||
}
|
||||
storageType := lfsSec.Key("STORAGE_TYPE").MustString("")
|
||||
|
||||
if LFS.Storage.Type != LocalStorageType && LFS.Storage.Type != MinioStorageType {
|
||||
storage, ok := storages[LFS.Storage.Type]
|
||||
if !ok {
|
||||
log.Fatal("Failed to get lfs storage type: %s", LFS.Storage.Type)
|
||||
}
|
||||
LFS.Storage = storage
|
||||
}
|
||||
// Specifically default PATH to LFS_CONTENT_PATH
|
||||
lfsSec.Key("PATH").MustString(
|
||||
sec.Key("LFS_CONTENT_PATH").String())
|
||||
|
||||
// Override
|
||||
LFS.ServeDirect = lfsSec.Key("SERVE_DIRECT").MustBool(LFS.ServeDirect)
|
||||
switch LFS.Storage.Type {
|
||||
case LocalStorageType:
|
||||
// keep compatible
|
||||
LFS.Path = sec.Key("LFS_CONTENT_PATH").MustString(filepath.Join(AppDataPath, "lfs"))
|
||||
LFS.Path = lfsSec.Key("PATH").MustString(LFS.Path)
|
||||
if !filepath.IsAbs(LFS.Path) {
|
||||
LFS.Path = filepath.Join(AppWorkPath, LFS.Path)
|
||||
}
|
||||
|
||||
case MinioStorageType:
|
||||
LFS.Minio.Endpoint = lfsSec.Key("MINIO_ENDPOINT").MustString(LFS.Minio.Endpoint)
|
||||
LFS.Minio.AccessKeyID = lfsSec.Key("MINIO_ACCESS_KEY_ID").MustString(LFS.Minio.AccessKeyID)
|
||||
LFS.Minio.SecretAccessKey = lfsSec.Key("MINIO_SECRET_ACCESS_KEY").MustString(LFS.Minio.SecretAccessKey)
|
||||
LFS.Minio.Bucket = lfsSec.Key("MINIO_BUCKET").MustString(LFS.Minio.Bucket)
|
||||
LFS.Minio.Location = lfsSec.Key("MINIO_LOCATION").MustString(LFS.Minio.Location)
|
||||
LFS.Minio.UseSSL = lfsSec.Key("MINIO_USE_SSL").MustBool(LFS.Minio.UseSSL)
|
||||
LFS.Minio.BasePath = lfsSec.Key("MINIO_BASE_PATH").MustString("lfs/")
|
||||
}
|
||||
LFS.Storage = getStorage("lfs", storageType, lfsSec)
|
||||
|
||||
// Rest of LFS service settings
|
||||
if LFS.LocksPagingNum == 0 {
|
||||
LFS.LocksPagingNum = 50
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue