Skip to content

Commit

Permalink
Adjust minio new sequence, now it will check whether bucket exist fir…
Browse files Browse the repository at this point in the history
…st and then create one if it doesn't exist (go-gitea#26420)

For some reason, the permission of the client_id and secret may cannot
create bucket, so now we will check whether bucket does exist first and
then try to create a bucket if it doesn't exist.

Try to fix go-gitea#25984

Co-authored-by: silverwind <me@silverwind.io>
  • Loading branch information
2 people authored and GiteaBot committed Aug 12, 2023
1 parent 2bdc38e commit 70e4352
Showing 1 changed file with 10 additions and 6 deletions.
16 changes: 10 additions & 6 deletions modules/storage/minio.go
Original file line number Diff line number Diff line change
Expand Up @@ -90,12 +90,16 @@ func NewMinioStorage(ctx context.Context, cfg *setting.Storage) (ObjectStorage,
return nil, convertMinioErr(err)
}

if err := minioClient.MakeBucket(ctx, config.Bucket, minio.MakeBucketOptions{
Region: config.Location,
}); err != nil {
// Check to see if we already own this bucket (which happens if you run this twice)
exists, errBucketExists := minioClient.BucketExists(ctx, config.Bucket)
if !exists || errBucketExists != nil {
// Check to see if we already own this bucket
exists, errBucketExists := minioClient.BucketExists(ctx, config.Bucket)
if errBucketExists != nil {
return nil, convertMinioErr(err)
}

if !exists {
if err := minioClient.MakeBucket(ctx, config.Bucket, minio.MakeBucketOptions{
Region: config.Location,
}); err != nil {
return nil, convertMinioErr(err)
}
}
Expand Down

0 comments on commit 70e4352

Please sign in to comment.