forked from TrueCloudLab/distribution
a7c6bfd59f
This is already supported by ncw/swift, so we just need to pass the parameters from the storage driver. Signed-off-by: Stefan Majewsky <stefan.majewsky@sap.com>
268 lines
5.4 KiB
Markdown
268 lines
5.4 KiB
Markdown
<!--[metadata]>
|
|
+++
|
|
title = "Swift storage driver"
|
|
description = "Explains how to use the OpenStack swift storage driver"
|
|
keywords = ["registry, service, driver, images, storage, swift"]
|
|
[menu.main]
|
|
parent="smn_storagedrivers"
|
|
+++
|
|
<![end-metadata]-->
|
|
|
|
|
|
# OpenStack Swift storage driver
|
|
|
|
An implementation of the `storagedriver.StorageDriver` interface that uses [OpenStack Swift](http://docs.openstack.org/developer/swift/) for object storage.
|
|
|
|
## Parameters
|
|
|
|
|
|
<table>
|
|
<tr>
|
|
<th>Parameter</th>
|
|
<th>Required</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>authurl</code>
|
|
</td>
|
|
<td>
|
|
yes
|
|
</td>
|
|
<td>
|
|
URL for obtaining an auth token. https://storage.myprovider.com/v2.0 or https://storage.myprovider.com/v3/auth
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>username</code>
|
|
</td>
|
|
<td>
|
|
yes
|
|
</td>
|
|
<td>
|
|
Your Openstack user name.
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>password</code>
|
|
</td>
|
|
<td>
|
|
yes
|
|
</td>
|
|
<td>
|
|
Your Openstack password.
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>region</code>
|
|
</td>
|
|
<td>
|
|
no
|
|
</td>
|
|
<td>
|
|
The Openstack region in which your container exists.
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>container</code>
|
|
</td>
|
|
<td>
|
|
yes
|
|
</td>
|
|
<td>
|
|
The name of your Swift container where you wish to store the registry's data. The driver creates the named container during its initialization.
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>tenant</code>
|
|
</td>
|
|
<td>
|
|
no
|
|
</td>
|
|
<td>
|
|
Your Openstack tenant name. You can either use <code>tenant</code> or <code>tenantid</code>.
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>tenantid</code>
|
|
</td>
|
|
<td>
|
|
no
|
|
</td>
|
|
<td>
|
|
Your Openstack tenant id. You can either use <code>tenant</code> or <code>tenantid</code>.
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>domain</code>
|
|
</td>
|
|
<td>
|
|
no
|
|
</td>
|
|
<td>
|
|
Your user's Openstack domain name for Identity v3 API. You can either use <code>domain</code> or <code>domainid</code>.
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>domainid</code>
|
|
</td>
|
|
<td>
|
|
no
|
|
</td>
|
|
<td>
|
|
Your user's Openstack domain id for Identity v3 API. You can either use <code>domain</code> or <code>domainid</code>.
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>tenantdomain</code>
|
|
</td>
|
|
<td>
|
|
no
|
|
</td>
|
|
<td>
|
|
Your tenant's Openstack domain name for Identity v3 API. Only necessary if different from the <code>domain</code>. You can either use <code>tenantdomain</code> or <code>tenantdomainid</code>.
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>tenantdomainid</code>
|
|
</td>
|
|
<td>
|
|
no
|
|
</td>
|
|
<td>
|
|
Your tenant's Openstack domain id for Identity v3 API. Only necessary if different from the <code>domain</code>. You can either use <code>tenantdomain</code> or <code>tenantdomainid</code>.
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>trustid</code>
|
|
</td>
|
|
<td>
|
|
no
|
|
</td>
|
|
<td>
|
|
Your Openstack trust id for Identity v3 API.
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>insecureskipverify</code>
|
|
</td>
|
|
<td>
|
|
no
|
|
</td>
|
|
<td>
|
|
true to skip TLS verification, false by default.
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>chunksize</code>
|
|
</td>
|
|
<td>
|
|
no
|
|
</td>
|
|
<td>
|
|
Size of the data segments for the Swift Dynamic Large Objects. This value should be a number (defaults to 5M).
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>prefix</code>
|
|
</td>
|
|
<td>
|
|
no
|
|
</td>
|
|
<td>
|
|
This is a prefix that will be applied to all Swift keys to allow you to segment data in your container if necessary. Defaults to the empty string which is the container's root.
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>secretkey</code>
|
|
</td>
|
|
<td>
|
|
no
|
|
</td>
|
|
<td>
|
|
The secret key used to generate temporary URLs.
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>accesskey</code>
|
|
</td>
|
|
<td>
|
|
no
|
|
</td>
|
|
<td>
|
|
The access key to generate temporary URLs. It is used by HP Cloud Object Storage in addition to the `secretkey` parameter.
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>authversion</code>
|
|
</td>
|
|
<td>
|
|
no
|
|
</td>
|
|
<td>
|
|
Specify the OpenStack Auth's version,for example <code>3</code>. By default the driver will autodetect the auth's version from the AuthURL.
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>endpointtype</code>
|
|
</td>
|
|
<td>
|
|
no
|
|
</td>
|
|
<td>
|
|
The endpoint type used when connecting to swift. Possible values are `public`, `internal` and `admin`. Default is `public`.
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
The features supported by the Swift server are queried by requesting the `/info` URL on the server. In case the administrator
|
|
disabled that feature, the configuration file can specify the following optional parameters :
|
|
|
|
<table>
|
|
<tr>
|
|
<td>
|
|
<code>tempurlcontainerkey</code>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Specify whether to use container secret key to generate temporary URL when set to true, or the account secret key otherwise.</p>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code>tempurlmethods</code>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Array of HTTP methods that are supported by the TempURL middleware of the Swift server. Example:</p>
|
|
<code>
|
|
- tempurlmethods:
|
|
- GET
|
|
- PUT
|
|
- HEAD
|
|
- POST
|
|
- DELETE
|
|
</code>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
</table>
|