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>
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
Symlink
swift.common.middleware.symlink
TempAuth
swift.common.middleware.tempauth
TempURL
swift.common.middleware.tempurl
XProfile
swift.common.middleware.xprofile