
This attempts to import openstack/swift3 package into swift upstream repository, namespace. This is almost simple porting except following items. 1. Rename swift3 namespace to swift.common.middleware.s3api 1.1 Rename also some conflicted class names (e.g. Request/Response) 2. Port unittests to test/unit/s3api dir to be able to run on the gate. 3. Port functests to test/functional/s3api and setup in-process testing 4. Port docs to doc dir, then address the namespace change. 5. Use get_logger() instead of global logger instance 6. Avoid global conf instance Ex. fix various minor issue on those steps (e.g. packages, dependencies, deprecated things) The details and patch references in the work on feature/s3api are listed at https://trello.com/b/ZloaZ23t/s3api (completed board) Note that, because this is just a porting, no new feature is developed since the last swift3 release, and in the future work, Swift upstream may continue to work on remaining items for further improvements and the best compatibility of Amazon S3. Please read the new docs for your deployment and keep track to know what would be changed in the future releases. Change-Id: Ib803ea89cfee9a53c429606149159dd136c036fd Co-Authored-By: Thiago da Silva <thiago@redhat.com> Co-Authored-By: Tim Burke <tim.burke@gmail.com>
369 lines
7.1 KiB
ReStructuredText
369 lines
7.1 KiB
ReStructuredText
.. _common_middleware:
|
|
|
|
**********
|
|
Middleware
|
|
**********
|
|
|
|
Account Quotas
|
|
==============
|
|
|
|
.. automodule:: swift.common.middleware.account_quotas
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. _s3api:
|
|
|
|
AWS S3 Api
|
|
==========
|
|
|
|
.. automodule:: swift.common.middleware.s3api.s3api
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. automodule:: swift.common.middleware.s3api.s3token
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. automodule:: swift.common.middleware.s3api.s3request
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. automodule:: swift.common.middleware.s3api.s3response
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. automodule:: swift.common.middleware.s3api.exception
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. automodule:: swift.common.middleware.s3api.etree
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. automodule:: swift.common.middleware.s3api.utils
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. automodule:: swift.common.middleware.s3api.subresource
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. automodule:: swift.common.middleware.s3api.acl_handlers
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. automodule:: swift.common.middleware.s3api.acl_utils
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. automodule:: swift.common.middleware.s3api.controllers.base
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. automodule:: swift.common.middleware.s3api.controllers.service
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. automodule:: swift.common.middleware.s3api.controllers.bucket
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. automodule:: swift.common.middleware.s3api.controllers.obj
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. automodule:: swift.common.middleware.s3api.controllers.acl
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. automodule:: swift.common.middleware.s3api.controllers.s3_acl
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. automodule:: swift.common.middleware.s3api.controllers.multi_upload
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. automodule:: swift.common.middleware.s3api.controllers.multi_delete
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. automodule:: swift.common.middleware.s3api.controllers.versioning
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. automodule:: swift.common.middleware.s3api.controllers.location
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. automodule:: swift.common.middleware.s3api.controllers.logging
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. _bulk:
|
|
|
|
Bulk Operations (Delete and Archive Auto Extraction)
|
|
====================================================
|
|
|
|
.. automodule:: swift.common.middleware.bulk
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. _catch_errors:
|
|
|
|
CatchErrors
|
|
=============
|
|
|
|
.. automodule:: swift.common.middleware.catch_errors
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
CNAME Lookup
|
|
============
|
|
|
|
.. automodule:: swift.common.middleware.cname_lookup
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. _container-quotas:
|
|
|
|
Container Quotas
|
|
================
|
|
|
|
.. automodule:: swift.common.middleware.container_quotas
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. _container-sync:
|
|
|
|
Container Sync Middleware
|
|
=========================
|
|
|
|
.. automodule:: swift.common.middleware.container_sync
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
Cross Domain Policies
|
|
=====================
|
|
|
|
.. automodule:: swift.common.middleware.crossdomain
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. _discoverability:
|
|
|
|
Discoverability
|
|
===============
|
|
|
|
Swift will by default provide clients with an interface providing details
|
|
about the installation. Unless disabled (i.e ``expose_info=false`` in
|
|
:ref:`proxy-server-config`), a GET request to ``/info`` will return configuration
|
|
data in JSON format. An example response::
|
|
|
|
{"swift": {"version": "1.11.0"}, "staticweb": {}, "tempurl": {}}
|
|
|
|
This would signify to the client that swift version 1.11.0 is running and that
|
|
staticweb and tempurl are available in this installation.
|
|
|
|
There may be administrator-only information available via ``/info``. To
|
|
retrieve it, one must use an HMAC-signed request, similar to TempURL.
|
|
The signature may be produced like so::
|
|
|
|
swift tempurl GET 3600 /info secret 2>/dev/null | sed s/temp_url/swiftinfo/g
|
|
|
|
Domain Remap
|
|
============
|
|
|
|
.. automodule:: swift.common.middleware.domain_remap
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
Dynamic Large Objects
|
|
=====================
|
|
|
|
DLO support centers around a user specified filter that matches
|
|
segments and concatenates them together in object listing order. Please see
|
|
the DLO docs for :ref:`dlo-doc` further details.
|
|
|
|
.. _encryption:
|
|
|
|
Encryption
|
|
==========
|
|
|
|
Encryption middleware should be deployed in conjunction with the
|
|
:ref:`keymaster` middleware.
|
|
|
|
.. automodule:: swift.common.middleware.crypto
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. automodule:: swift.common.middleware.crypto.encrypter
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. automodule:: swift.common.middleware.crypto.decrypter
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. _formpost:
|
|
|
|
FormPost
|
|
========
|
|
|
|
.. automodule:: swift.common.middleware.formpost
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. _gatekeeper:
|
|
|
|
GateKeeper
|
|
==========
|
|
|
|
.. automodule:: swift.common.middleware.gatekeeper
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. _healthcheck:
|
|
|
|
Healthcheck
|
|
===========
|
|
|
|
.. automodule:: swift.common.middleware.healthcheck
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. _keymaster:
|
|
|
|
Keymaster
|
|
=========
|
|
|
|
Keymaster middleware should be deployed in conjunction with the
|
|
:ref:`encryption` middleware.
|
|
|
|
.. automodule:: swift.common.middleware.crypto.keymaster
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. _keystoneauth:
|
|
|
|
KeystoneAuth
|
|
============
|
|
|
|
.. automodule:: swift.common.middleware.keystoneauth
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. _list_endpoints:
|
|
|
|
List Endpoints
|
|
==============
|
|
|
|
.. automodule:: swift.common.middleware.list_endpoints
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
Memcache
|
|
========
|
|
|
|
.. automodule:: swift.common.middleware.memcache
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
Name Check (Forbidden Character Filter)
|
|
=======================================
|
|
|
|
.. automodule:: swift.common.middleware.name_check
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. _versioned_writes:
|
|
|
|
Object Versioning
|
|
=================
|
|
|
|
.. automodule:: swift.common.middleware.versioned_writes
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
Proxy Logging
|
|
=============
|
|
|
|
.. automodule:: swift.common.middleware.proxy_logging
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
Ratelimit
|
|
=========
|
|
|
|
.. automodule:: swift.common.middleware.ratelimit
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. _recon:
|
|
|
|
Recon
|
|
===========
|
|
|
|
.. automodule:: swift.common.middleware.recon
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. _copy:
|
|
|
|
Server Side Copy
|
|
================
|
|
|
|
.. automodule:: swift.common.middleware.copy
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
Static Large Objects
|
|
====================
|
|
|
|
Please see
|
|
the SLO docs for :ref:`slo-doc` further details.
|
|
|
|
|
|
.. _staticweb:
|
|
|
|
StaticWeb
|
|
=========
|
|
|
|
.. automodule:: swift.common.middleware.staticweb
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. _symlink:
|
|
|
|
Symlink
|
|
=======
|
|
|
|
.. automodule:: swift.common.middleware.symlink
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. _common_tempauth:
|
|
|
|
TempAuth
|
|
========
|
|
|
|
.. automodule:: swift.common.middleware.tempauth
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
.. _tempurl:
|
|
|
|
TempURL
|
|
=======
|
|
|
|
.. automodule:: swift.common.middleware.tempurl
|
|
:members:
|
|
:show-inheritance:
|
|
|
|
XProfile
|
|
==============
|
|
|
|
.. automodule:: swift.common.middleware.xprofile
|
|
:members:
|
|
:show-inheritance:
|