github.com/npaton/distribution@v2.3.1-rc.0+incompatible/docs/storage-drivers/swift.md (about)

     1  <!--[metadata]>
     2  +++
     3  title = "Swift storage driver"
     4  description = "Explains how to use the OpenStack swift storage driver"
     5  keywords = ["registry, service, driver, images, storage,  swift"]
     6  +++
     7  <![end-metadata]-->
     8  
     9  
    10  # OpenStack Swift storage driver
    11  
    12  An implementation of the `storagedriver.StorageDriver` interface that uses [OpenStack Swift](http://docs.openstack.org/developer/swift/) for object storage.
    13  
    14  ## Parameters
    15  
    16  
    17  <table>
    18    <tr>
    19      <th>Parameter</th>
    20      <th>Required</th>
    21      <th>Description</th>
    22    </tr>
    23    <tr>
    24      <td>
    25        <code>authurl</code>
    26      </td>
    27      <td>
    28        yes
    29      </td>
    30      <td>
    31        URL for obtaining an auth token. https://storage.myprovider.com/v2.0 or https://storage.myprovider.com/v3/auth
    32      </td>
    33    </tr>
    34    <tr>
    35      <td>
    36        <code>username</code>
    37      </td>
    38      <td>
    39        yes
    40      </td>
    41      <td>
    42        Your Openstack user name.
    43      </td>
    44    </tr>
    45    <tr>
    46      <td>
    47        <code>password</code>
    48      </td>
    49      <td>
    50        yes
    51      </td>
    52      <td>
    53        Your Openstack password.
    54      </td>
    55    </tr>
    56    <tr>
    57      <td>
    58        <code>region</code>
    59      </td>
    60      <td>
    61        no
    62      </td>
    63      <td>
    64        The Openstack region in which your container exists.
    65      </td>
    66    </tr>
    67    <tr>
    68      <td>
    69        <code>container</code>
    70      </td>
    71      <td>
    72        yes
    73      </td>
    74      <td>
    75        The name of your Swift container where you wish to store the registry's data. The driver creates the named container during its initialization.
    76      </td>
    77    </tr>
    78    <tr>
    79      <td>
    80        <code>tenant</code>
    81      </td>
    82      <td>
    83        no
    84      </td>
    85      <td>
    86        Your Openstack tenant name. You can either use <code>tenant</code> or <code>tenantid</code>.
    87      </td>
    88    </tr>
    89    <tr>
    90      <td>
    91        <code>tenantid</code>
    92      </td>
    93      <td>
    94        no
    95      </td>
    96      <td>
    97        Your Openstack tenant id. You can either use <code>tenant</code> or <code>tenantid</code>.
    98      </td>
    99    </tr>
   100    <tr>
   101      <td>
   102        <code>domain</code>
   103      </td>
   104      <td>
   105        no
   106      </td>
   107      <td>
   108        Your Openstack domain name for Identity v3 API. You can either use <code>domain</code> or <code>domainid</code>.
   109      </td>
   110    </tr>
   111    <tr>
   112      <td>
   113        <code>domainid</code>
   114      </td>
   115      <td>
   116        no
   117      </td>
   118      <td>
   119        Your Openstack domain id for Identity v3 API. You can either use <code>domain</code> or <code>domainid</code>.
   120      </td>
   121    </tr>
   122    <tr>
   123      <td>
   124        <code>trustid</code>
   125      </td>
   126      <td>
   127        no
   128      </td>
   129      <td>
   130        Your Openstack trust id for Identity v3 API.
   131      </td>
   132    </tr>
   133    <tr>
   134      <td>
   135        <code>insecureskipverify</code>
   136      </td>
   137      <td>
   138        no
   139      </td>
   140      <td>
   141        true to skip TLS verification, false by default.
   142      </td>
   143    </tr>
   144    <tr>
   145      <td>
   146        <code>chunksize</code>
   147      </td>
   148      <td>
   149        no
   150      </td>
   151      <td>
   152        Size of the data segments for the Swift Dynamic Large Objects. This value should be a number (defaults to 5M).
   153      </td>
   154    </tr>
   155    <tr>
   156      <td>
   157        <code>prefix</code>
   158      </td>
   159      <td>
   160        no
   161      </td>
   162      <td>
   163        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.
   164      </td>
   165    </tr>
   166    <tr>
   167      <td>
   168        <code>secretkey</code>
   169      </td>
   170      <td>
   171        no
   172      </td>
   173      <td>
   174        The secret key used to generate temporary URLs.
   175      </td>
   176    </tr>
   177    <tr>
   178      <td>
   179        <code>accesskey</code>
   180      </td>
   181      <td>
   182        no
   183      </td>
   184      <td>
   185        The access key to generate temporary URLs. It is used by HP Cloud Object Storage in addition to the `secretkey` parameter.
   186      </td>
   187    </tr>
   188  </table>
   189  
   190  
   191  <table>
   192  <tr>
   193    <td>
   194    <code>authurl</code>
   195    </td>
   196    <td>
   197      <p>URL for obtaining an auth token.</p>
   198    </td>
   199  </tr>
   200  <tr>
   201    <td>
   202    <code>username</code>
   203    </td>
   204    <td>
   205    <p>
   206    Your OpenStack user name.</p>
   207    </p>
   208    </td>
   209  </tr>
   210  <tr>
   211    <td>
   212    <code>password</code>
   213    <p>
   214    </td>
   215    <td>
   216    <p>
   217    Your OpenStack password.
   218    </p>
   219    </td>
   220  </tr>
   221  <tr>
   222    <td>
   223    <code>container</code>
   224    </td>
   225    <td>
   226    <p>
   227  	The name of your Swift container where you wish to store the registry's data. The driver creates the named container during its initialization.
   228    </p>
   229    </td>
   230  </tr>
   231  <tr>
   232    <td>
   233    <code>tenant</code>
   234    </td>
   235    <td>
   236    <p>
   237    Optionally, your OpenStack tenant name. You can either use <code>tenant</code> or <code>tenantid</code>.
   238    </p>
   239    </td>
   240  </tr>
   241  <tr>
   242      <td>
   243      <code>tenantid</code>
   244      </td>
   245      <td>
   246      <p>
   247      Optionally, your OpenStack tenant id. You can either use <code>tenant</code> or <code>tenantid</code>.
   248      </p>
   249      </td>
   250  </tr>
   251  <tr>
   252      <td>
   253      <code>domain</code>
   254      </td>
   255      <td>
   256      <p>
   257      Optionally, your OpenStack domain name for Identity v3 API. You can either use <code>domain</code> or <code>domainid</code>.
   258      </p>
   259      </td>
   260  </tr>
   261  <tr>
   262      <td>
   263      <code>domainid</code>
   264      </td>
   265      <td>
   266      <p>
   267      Optionally, your OpenStack domain id for Identity v3 API. You can either use <code>domain</code> or <code>domainid</code>.
   268      </p>
   269      </td>
   270  </tr>
   271  <tr>
   272      <td>
   273      <code>trustid</code>
   274      </td>
   275      <td>
   276      <p>
   277      Optionally, your OpenStack trust id for Identity v3 API.
   278      </p>
   279      </td>
   280  </tr>
   281  <tr>
   282      <td>
   283      <code>insecureskipverify</code>
   284      </td>
   285      <td>
   286      <p>
   287      Optionally, set <code>insecureskipverify</code> to true to skip TLS verification for your OpenStack provider. The driver uses false by default.
   288      </p>
   289      </td>
   290  </tr>
   291  <tr>
   292      <td>
   293      <code>region</code>
   294      </td>
   295      <td>
   296      <p>
   297      Optionally, specify the OpenStack region name in which you would like to store objects (for example <code>fr</code>).
   298      </p>
   299      </td>
   300  </tr>
   301  <tr>
   302      <td>
   303      <code>chunksize</code>
   304      </td>
   305      <td>
   306      <p>
   307      Optionally, specify the segment size for Dynamic Large Objects uploads (performed by WriteStream) to Swift. The default is 5 MB. You might experience better performance for larger chunk sizes depending on the speed of your connection to Swift.
   308      </p>
   309      </td>
   310  </tr>
   311  <tr>
   312      <td>
   313      <code>prefix</code>
   314      </td>
   315      <td>
   316      <p>
   317      Optionally, supply 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.</p>
   318      </p>
   319      </td>
   320  </tr>
   321  <tr>
   322      <td>
   323      <code>secretkey</code>
   324      </td>
   325      <td>
   326      <p>
   327      Optionally, the secret key used to generate temporary URLs.</p>
   328      </p>
   329      </td>
   330  </tr>
   331  <tr>
   332      <td>
   333      <code>accesskey</code>
   334      </td>
   335      <td>
   336      <p>
   337      Optionally, the access key to generate temporary URLs. It is used by HP Cloud Object Storage in addition to the `secretkey` parameter.</p>
   338      </p>
   339      </td>
   340  </tr>
   341  </table>
   342  
   343  The features supported by the Swift server are queried by requesting the `/info` URL on the server. In case the administrator
   344  disabled that feature, the configuration file can specify the following optional parameters :
   345  
   346  <table>
   347  <tr>
   348      <td>
   349      <code>tempurlcontainerkey</code>
   350      </td>
   351      <td>
   352      <p>
   353      Specify whether to use container secret key to generate temporary URL when set to true, or the account secret key otherwise.</p>
   354      </p>
   355      </td>
   356  </tr>
   357  <tr>
   358      <td>
   359      <code>tempurlmethods</code>
   360      </td>
   361      <td>
   362      <p>
   363      Array of HTTP methods that are supported by the TempURL middleware of the Swift server. Example:</p>
   364      <code>
   365      - tempurlmethods:
   366        - GET
   367        - PUT
   368        - HEAD
   369        - POST
   370        - DELETE
   371      </code>
   372      </p>
   373      </td>
   374  </tr>
   375  </table>