swift/doc/source/middleware.rst
Robert Francis 99b89aea10 Symlink implementation.
Add a symbolic link ("symlink") object support to Swift. This
object will reference another object. GET and HEAD
requests for a symlink object will operate on the referenced object.
DELETE and PUT requests for a symlink object will operate on the
symlink object, not the referenced object, and will delete or
overwrite it, respectively.
POST requests are *not* forwarded to the referenced object and should
be sent directly. POST requests sent to a symlink object will
result in a 307 Error.

Historical information on symlink design can be found here:
https://github.com/openstack/swift-specs/blob/master/specs/in_progress/symlinks.rst.
https://etherpad.openstack.org/p/swift_symlinks

Co-Authored-By: Thiago da Silva <thiago@redhat.com>
Co-Authored-By: Janie Richling <jrichli@us.ibm.com>
Co-Authored-By: Kazuhiro MIYAHARA <miyahara.kazuhiro@lab.ntt.co.jp>
Co-Authored-By: Kota Tsuyuzaki <tsuyuzaki.kota@lab.ntt.co.jp>

Change-Id: I838ed71bacb3e33916db8dd42c7880d5bb9f8e18
Signed-off-by: Thiago da Silva <thiago@redhat.com>
2017-12-13 21:26:12 +00:00

5.0 KiB

Middleware

Account Quotas

swift.common.middleware.account_quotas

Bulk Operations (Delete and Archive Auto Extraction)

swift.common.middleware.bulk

CatchErrors

swift.common.middleware.catch_errors

CNAME Lookup

swift.common.middleware.cname_lookup

Container Quotas

swift.common.middleware.container_quotas

Container Sync Middleware

swift.common.middleware.container_sync

Cross Domain Policies

swift.common.middleware.crossdomain

Discoverability

Swift will by default provide clients with an interface providing details about the installation. Unless disabled (i.e expose_info=false in 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

swift.common.middleware.domain_remap

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 dlo-doc further details.

Encryption

Encryption middleware should be deployed in conjunction with the keymaster middleware.

swift.common.middleware.crypto

swift.common.middleware.crypto.encrypter

swift.common.middleware.crypto.decrypter

FormPost

swift.common.middleware.formpost

GateKeeper

swift.common.middleware.gatekeeper

Healthcheck

swift.common.middleware.healthcheck

Keymaster

Keymaster middleware should be deployed in conjunction with the encryption middleware.

swift.common.middleware.crypto.keymaster

KeystoneAuth

swift.common.middleware.keystoneauth

List Endpoints

swift.common.middleware.list_endpoints

Memcache

swift.common.middleware.memcache

Name Check (Forbidden Character Filter)

swift.common.middleware.name_check

Object Versioning

swift.common.middleware.versioned_writes

Proxy Logging

swift.common.middleware.proxy_logging

Ratelimit

swift.common.middleware.ratelimit

Recon

swift.common.middleware.recon

Server Side Copy

swift.common.middleware.copy

Static Large Objects

Please see the SLO docs for slo-doc further details.

StaticWeb

swift.common.middleware.staticweb

swift.common.middleware.symlink

TempAuth

swift.common.middleware.tempauth

TempURL

swift.common.middleware.tempurl

XProfile

swift.common.middleware.xprofile