Files
6acea29fa65e87ca9639172295c611412d7d6148
swift /doc /source /middleware.rst
Samuel Merritt 6acea29fa6 Move all DLO functionality to middleware
This is for the same reason that SLO got pulled into middleware, which
includes stuff like automatic retry of GETs on broken connection and
the multi-ring storage policy stuff.
The proxy will automatically insert the dlo middleware at an
appropriate place in the pipeline the same way it does with the
gatekeeper middleware. Clusters will still support DLOs after upgrade
even with an old config file that doesn't mention dlo at all.
Includes support for reading config values from the proxy server's
config section so that upgraded clusters continue to work as before.
Bonus fix: resolve 'after' vs. 'after_fn' in proxy's required filters
list. Having two was confusing, so I kept the more-general one.
DocImpact
blueprint multi-ring-large-objects
Change-Id: Ib3b3830c246816dd549fc74be98b4bc651e7bace
2014年02月03日 18:29:48 -08:00

3.7 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

Dynamic Large Objects ====================

swift.common.middleware.dlo

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