swift/doc/source/middleware.rst
Greg Lange 5d601b78f3 Adds read_only middleware
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
2018-05-30 03:26:36 +00:00

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

swift.common.middleware.symlink

TempAuth

swift.common.middleware.tempauth

TempURL

swift.common.middleware.tempurl

XProfile

swift.common.middleware.xprofile