diff options
Diffstat (limited to 'vendor/github.com/minio/minio-go/v7')
6 files changed, 51 insertions, 17 deletions
| diff --git a/vendor/github.com/minio/minio-go/v7/Makefile b/vendor/github.com/minio/minio-go/v7/Makefile index 68444aa68..9e4ddc4c8 100644 --- a/vendor/github.com/minio/minio-go/v7/Makefile +++ b/vendor/github.com/minio/minio-go/v7/Makefile @@ -32,6 +32,10 @@ functional-test:  	@GO111MODULE=on go build -race functional_tests.go  	@SERVER_ENDPOINT=localhost:9000 ACCESS_KEY=minioadmin SECRET_KEY=minioadmin ENABLE_HTTPS=1 MINT_MODE=full ./functional_tests +functional-test-notls: +	@GO111MODULE=on go build -race functional_tests.go +	@SERVER_ENDPOINT=localhost:9000 ACCESS_KEY=minioadmin SECRET_KEY=minioadmin ENABLE_HTTPS=0 MINT_MODE=full ./functional_tests +  clean:  	@echo "Cleaning up all the generated files"  	@find . -name '*.test' | xargs rm -fv diff --git a/vendor/github.com/minio/minio-go/v7/api-put-object.go b/vendor/github.com/minio/minio-go/v7/api-put-object.go index d769648a7..10131a5be 100644 --- a/vendor/github.com/minio/minio-go/v7/api-put-object.go +++ b/vendor/github.com/minio/minio-go/v7/api-put-object.go @@ -45,6 +45,8 @@ const (  	ReplicationStatusFailed ReplicationStatus = "FAILED"  	// ReplicationStatusReplica indicates object is a replica of a source  	ReplicationStatusReplica ReplicationStatus = "REPLICA" +	// ReplicationStatusReplicaEdge indicates object is a replica of a edge source +	ReplicationStatusReplicaEdge ReplicationStatus = "REPLICA-EDGE"  )  // Empty returns true if no replication status set. diff --git a/vendor/github.com/minio/minio-go/v7/api.go b/vendor/github.com/minio/minio-go/v7/api.go index 1d6b66502..90e9b63f5 100644 --- a/vendor/github.com/minio/minio-go/v7/api.go +++ b/vendor/github.com/minio/minio-go/v7/api.go @@ -128,7 +128,7 @@ type Options struct {  // Global constants.  const (  	libraryName    = "minio-go" -	libraryVersion = "v7.0.77" +	libraryVersion = "v7.0.78"  )  // User Agent should always following the below style. diff --git a/vendor/github.com/minio/minio-go/v7/functional_tests.go b/vendor/github.com/minio/minio-go/v7/functional_tests.go index 780dc8997..c0180b36b 100644 --- a/vendor/github.com/minio/minio-go/v7/functional_tests.go +++ b/vendor/github.com/minio/minio-go/v7/functional_tests.go @@ -3565,16 +3565,10 @@ func validateObjectAttributeRequest(OA *minio.ObjectAttributes, opts *minio.Obje  		}  	} -	hasFullObjectChecksum := true -	if OA.Checksum.ChecksumCRC32 == "" { -		if OA.Checksum.ChecksumCRC32C == "" { -			if OA.Checksum.ChecksumSHA1 == "" { -				if OA.Checksum.ChecksumSHA256 == "" { -					hasFullObjectChecksum = false -				} -			} -		} -	} +	hasFullObjectChecksum := (OA.Checksum.ChecksumCRC32 != "" || +		OA.Checksum.ChecksumCRC32C != "" || +		OA.Checksum.ChecksumSHA1 != "" || +		OA.Checksum.ChecksumSHA256 != "")  	if test.HasFullChecksum {  		if !hasFullObjectChecksum { diff --git a/vendor/github.com/minio/minio-go/v7/pkg/credentials/sts_web_identity.go b/vendor/github.com/minio/minio-go/v7/pkg/credentials/sts_web_identity.go index 596d95152..f1c76c78e 100644 --- a/vendor/github.com/minio/minio-go/v7/pkg/credentials/sts_web_identity.go +++ b/vendor/github.com/minio/minio-go/v7/pkg/credentials/sts_web_identity.go @@ -25,6 +25,7 @@ import (  	"io"  	"net/http"  	"net/url" +	"os"  	"strconv"  	"strings"  	"time" @@ -85,29 +86,59 @@ type STSWebIdentity struct {  	// assuming.  	RoleARN string +	// Policy is the policy where the credentials should be limited too. +	Policy string +  	// roleSessionName is the identifier for the assumed role session.  	roleSessionName string  }  // NewSTSWebIdentity returns a pointer to a new  // Credentials object wrapping the STSWebIdentity. -func NewSTSWebIdentity(stsEndpoint string, getWebIDTokenExpiry func() (*WebIdentityToken, error)) (*Credentials, error) { +func NewSTSWebIdentity(stsEndpoint string, getWebIDTokenExpiry func() (*WebIdentityToken, error), opts ...func(*STSWebIdentity)) (*Credentials, error) {  	if stsEndpoint == "" {  		return nil, errors.New("STS endpoint cannot be empty")  	}  	if getWebIDTokenExpiry == nil {  		return nil, errors.New("Web ID token and expiry retrieval function should be defined")  	} -	return New(&STSWebIdentity{ +	i := &STSWebIdentity{  		Client: &http.Client{  			Transport: http.DefaultTransport,  		},  		STSEndpoint:         stsEndpoint,  		GetWebIDTokenExpiry: getWebIDTokenExpiry, -	}), nil +	} +	for _, o := range opts { +		o(i) +	} +	return New(i), nil +} + +// NewKubernetesIdentity returns a pointer to a new +// Credentials object using the Kubernetes service account +func NewKubernetesIdentity(stsEndpoint string, opts ...func(*STSWebIdentity)) (*Credentials, error) { +	return NewSTSWebIdentity(stsEndpoint, func() (*WebIdentityToken, error) { +		token, err := os.ReadFile("/var/run/secrets/kubernetes.io/serviceaccount/token") +		if err != nil { +			return nil, err +		} + +		return &WebIdentityToken{ +			Token: string(token), +		}, nil +	}, opts...) +} + +// WithPolicy option will enforce that the returned credentials +// will be scoped down to the specified policy +func WithPolicy(policy string) func(*STSWebIdentity) { +	return func(i *STSWebIdentity) { +		i.Policy = policy +	}  } -func getWebIdentityCredentials(clnt *http.Client, endpoint, roleARN, roleSessionName string, +func getWebIdentityCredentials(clnt *http.Client, endpoint, roleARN, roleSessionName string, policy string,  	getWebIDTokenExpiry func() (*WebIdentityToken, error),  ) (AssumeRoleWithWebIdentityResponse, error) {  	idToken, err := getWebIDTokenExpiry() @@ -133,6 +164,9 @@ func getWebIdentityCredentials(clnt *http.Client, endpoint, roleARN, roleSession  	if idToken.Expiry > 0 {  		v.Set("DurationSeconds", fmt.Sprintf("%d", idToken.Expiry))  	} +	if policy != "" { +		v.Set("Policy", policy) +	}  	v.Set("Version", STSVersion)  	u, err := url.Parse(endpoint) @@ -183,7 +217,7 @@ func getWebIdentityCredentials(clnt *http.Client, endpoint, roleARN, roleSession  // Retrieve retrieves credentials from the MinIO service.  // Error will be returned if the request fails.  func (m *STSWebIdentity) Retrieve() (Value, error) { -	a, err := getWebIdentityCredentials(m.Client, m.STSEndpoint, m.RoleARN, m.roleSessionName, m.GetWebIDTokenExpiry) +	a, err := getWebIdentityCredentials(m.Client, m.STSEndpoint, m.RoleARN, m.roleSessionName, m.Policy, m.GetWebIDTokenExpiry)  	if err != nil {  		return Value{}, err  	} diff --git a/vendor/github.com/minio/minio-go/v7/pkg/tags/tags.go b/vendor/github.com/minio/minio-go/v7/pkg/tags/tags.go index 7a84a6f34..33465c632 100644 --- a/vendor/github.com/minio/minio-go/v7/pkg/tags/tags.go +++ b/vendor/github.com/minio/minio-go/v7/pkg/tags/tags.go @@ -69,7 +69,7 @@ const (  // https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-restrictions  // borrowed from this article and also testing various ASCII characters following regex  // is supported by AWS S3 for both tags and values. -var validTagKeyValue = regexp.MustCompile(`^[a-zA-Z0-9-+\-._:/@ ]+$`) +var validTagKeyValue = regexp.MustCompile(`^[a-zA-Z0-9-+\-._:/@ =]+$`)  func checkKey(key string) error {  	if len(key) == 0 { | 
