Skip to content

Commit 1eb52ae

Browse files
authored
Merge pull request #240 from fluxcd/gcp-bucket-support
Use ListObjects V1 fallback for GCS S3 endpoints
2 parents b5af173 + 9881bc2 commit 1eb52ae

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

controllers/bucket_controller.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import (
3030
"github.com/go-logr/logr"
3131
"github.com/minio/minio-go/v7"
3232
"github.com/minio/minio-go/v7/pkg/credentials"
33+
"github.com/minio/minio-go/v7/pkg/s3utils"
3334
corev1 "k8s.io/api/core/v1"
3435
apimeta "k8s.io/apimachinery/pkg/api/meta"
3536
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -201,7 +202,10 @@ func (r *BucketReconciler) reconcile(ctx context.Context, bucket sourcev1.Bucket
201202
}
202203

203204
// download bucket content
204-
for object := range s3Client.ListObjects(ctxTimeout, bucket.Spec.BucketName, minio.ListObjectsOptions{Recursive: true}) {
205+
for object := range s3Client.ListObjects(ctxTimeout, bucket.Spec.BucketName, minio.ListObjectsOptions{
206+
Recursive: true,
207+
UseV1: s3utils.IsGoogleEndpoint(*s3Client.EndpointURL()),
208+
}) {
205209
if object.Err != nil {
206210
err = fmt.Errorf("listing objects from bucket '%s' failed: %w", bucket.Spec.BucketName, object.Err)
207211
return sourcev1.BucketNotReady(bucket, sourcev1.BucketOperationFailedReason, err.Error()), err

0 commit comments

Comments
 (0)