diff --git a/docs/storage-drivers/swift.md b/docs/storage-drivers/swift.md index 0cf582d12..1555b1815 100644 --- a/docs/storage-drivers/swift.md +++ b/docs/storage-drivers/swift.md @@ -300,6 +300,16 @@ An implementation of the `storagedriver.StorageDriver` interface that uses [Open
+authversion
+
+ Optionally, specify the OpenStack Auth's version,for example 3
. By default the driver will autodetect the auth's version from the AuthURL.
+
chunksize
diff --git a/registry/storage/driver/swift/swift.go b/registry/storage/driver/swift/swift.go
index 0cc037afd..b72d0436e 100644
--- a/registry/storage/driver/swift/swift.go
+++ b/registry/storage/driver/swift/swift.go
@@ -69,6 +69,7 @@ type Parameters struct {
DomainID string
TrustID string
Region string
+ AuthVersion int
Container string
Prefix string
InsecureSkipVerify bool
@@ -174,6 +175,7 @@ func New(params Parameters) (*Driver, error) {
ApiKey: params.Password,
AuthUrl: params.AuthURL,
Region: params.Region,
+ AuthVersion: params.AuthVersion,
UserAgent: "distribution/" + version.Version,
Tenant: params.Tenant,
TenantId: params.TenantID,
diff --git a/registry/storage/driver/swift/swift_test.go b/registry/storage/driver/swift/swift_test.go
index b2ff6001a..655aa9963 100644
--- a/registry/storage/driver/swift/swift_test.go
+++ b/registry/storage/driver/swift/swift_test.go
@@ -33,6 +33,7 @@ func init() {
trustID string
container string
region string
+ AuthVersion int
insecureSkipVerify bool
secretKey string
accessKey string
@@ -52,6 +53,7 @@ func init() {
trustID = os.Getenv("SWIFT_TRUST_ID")
container = os.Getenv("SWIFT_CONTAINER_NAME")
region = os.Getenv("SWIFT_REGION_NAME")
+ AuthVersion, _ = strconv.Atoi(os.Getenv("SWIFT_AUTH_VERSION"))
insecureSkipVerify, _ = strconv.ParseBool(os.Getenv("SWIFT_INSECURESKIPVERIFY"))
secretKey = os.Getenv("SWIFT_SECRET_KEY")
accessKey = os.Getenv("SWIFT_ACCESS_KEY")
@@ -85,6 +87,7 @@ func init() {
domainID,
trustID,
region,
+ AuthVersion,
container,
root,
insecureSkipVerify,