swift/doc/source/middleware.rst
Clay Gerrard 63f8c2284a Add documentation for GateKeeper
The purpose of GateKeeper mostly relates to the development of new swift code,
so I threw together a guide for development_middleware that covers some basics
with a eye towards metadata handling in-particular.

I also fixed up some missing autodoc's, split out middleware autodoc and added
some ref's here and about so I could link to them from the
development_middleware guide.

DocImpact
Change-Id: I20dd942ea8df9e33c3e794cb49669ffa1332c63e
2014-01-23 15:04:23 -05:00

3.6 KiB

Middleware

TempAuth

swift.common.middleware.tempauth

KeystoneAuth

swift.common.middleware.keystoneauth

Healthcheck

swift.common.middleware.healthcheck

Recon

swift.common.middleware.recon

Ratelimit

swift.common.middleware.ratelimit

StaticWeb

swift.common.middleware.staticweb

TempURL

swift.common.middleware.tempurl

FormPost

swift.common.middleware.formpost

Domain Remap

swift.common.middleware.domain_remap

CNAME Lookup

swift.common.middleware.cname_lookup

Cross Domain Policies

swift.common.middleware.crossdomain

Name Check (Forbidden Character Filter)

swift.common.middleware.name_check

Memcache

swift.common.middleware.memcache

Proxy Logging

swift.common.middleware.proxy_logging

CatchErrors

swift.common.middleware.catch_errors

GateKeeper

swift.common.middleware.gatekeeper

Bulk Operations (Delete and Archive Auto Extraction)

swift.common.middleware.bulk

Container Quotas

swift.common.middleware.container_quotas

Account Quotas

swift.common.middleware.account_quotas

Static Large Objects

swift.common.middleware.slo

List Endpoints

swift.common.middleware.list_endpoints

Container Sync Middleware

swift.common.middleware.container_sync

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-temp-url GET 3600 /info secret 2>/dev/null | sed s/temp_url/swiftinfo/g