
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
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