This patch adds a read_only middleware to swift. It gives the ability to make an entire cluster or individual accounts read only. When a cluster or an account is in read only mode, requests that would result in writes to the cluser are not allowed. DocImpact Change-Id: I7e0743aecd60b171bbcefcc8b6e1f3fd4cef2478
7.2 KiB
Middleware
Account Quotas
swift.common.middleware.account_quotas
AWS S3 Api
swift.common.middleware.s3api.s3api
swift.common.middleware.s3api.s3token
swift.common.middleware.s3api.s3request
swift.common.middleware.s3api.s3response
swift.common.middleware.s3api.exception
swift.common.middleware.s3api.etree
swift.common.middleware.s3api.utils
swift.common.middleware.s3api.subresource
swift.common.middleware.s3api.acl_handlers
swift.common.middleware.s3api.acl_utils
swift.common.middleware.s3api.controllers.base
swift.common.middleware.s3api.controllers.service
swift.common.middleware.s3api.controllers.bucket
swift.common.middleware.s3api.controllers.obj
swift.common.middleware.s3api.controllers.acl
swift.common.middleware.s3api.controllers.s3_acl
swift.common.middleware.s3api.controllers.multi_upload
swift.common.middleware.s3api.controllers.multi_delete
swift.common.middleware.s3api.controllers.versioning
swift.common.middleware.s3api.controllers.location
swift.common.middleware.s3api.controllers.logging
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
Read Only
swift.common.middleware.read_only
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