# Welcome to Swift’s documentation!

Swift is a highly available, distributed, eventually consistent object/blob store. Organizations can use Swift to store lots of data efficiently, safely, and cheaply.

This documentation is generated by the Sphinx toolkit and lives in the source tree. Additional documentation on Swift and other components of OpenStack can be found on the OpenStack wiki and at http://docs.openstack.org.

Note

If you’re looking for associated projects that enhance or use Swift, please see the Associated Projects page.

- Getting Started
  - System Requirements
  - Development
  - CLI client and SDK library
  - Production

## Overview and Concepts

- Object Storage API overview
- Swift Architectural Overview
- WSGI Server Process Management
- The Rings
- Ring File Formats
- Storage Policies
- The Account Reaper
- The Auth System
- Access Control Lists (ACLs)
- Replication
- Rate Limiting
- Large Object Support
- Global Clusters
- Container to Container Synchronization
- Expiring Object Support
- CORS
- Cross-domain Policy File
- Erasure Code Support
- Object Encryption
- Using Swift as Backing Store for Service Data
- Container Sharding
- Building a Consistent Hashing Ring
- Modifying Ring Partition Power
- Associated Projects

## Contributor Documentation

- Contributing to OpenStack Swift
  - Who is a Contributor?
  - What do I work on?
  - Getting Started
- Swift Design Principles
- Recommended workflow
- Notes on Testing
- Ideas
- Community
  - Communication
  - Contacting the Core Team
  - Getting Your Patch Merged
  - Project Team Lead Duties
- Review Guidelines
  - Checkout the Change
  - Run it
  - Consider edge cases very seriously
  - Run the tests
  - Maintainable Code is Obvious
  - Commit Messages
  - New Tests
  - Documentation
  - Reviewers Write Code
  - Leave Comments
  - Scoring
  - A note on Swift Core Maintainers

## Developer Documentation

- Development Guidelines
- SAIO (Swift All In One)
- First Contribution to Swift
- Adding Storage Policies to an Existing SAIO
- Auth Server and Middleware
- Middleware and Metadata
- Pluggable On-Disk Back-end APIs
- Auditor Watchers

## Administrator Documentation

- Deployment Guide
- Apache Deployment Guide
- Administrator’s Guide
- Dedicated replication network
- Logs
- Swift Ops Runbook
- OpenStack Swift Administrator Guide
- Object Storage Install Guide
- Configuration Documentation

## Object Storage v1 REST API Documentation

See Complete Reference for the Object Storage REST API

The following provides supporting information for the REST API:

- Object Storage API overview
- Discoverability
- Authentication
- Container quotas
- Object versioning
- Large objects
- Temporary URL middleware
- Form POST middleware
- Use Content-Encoding metadata
- Use the Content-Disposition metadata
- Pseudo-hierarchical folders and directories
- Page through large lists of containers or objects
- Serialized response formats
- Create static website
- Object expiration
- Bulk delete

## S3 Compatibility Info

- S3/Swift REST API Comparison Matrix

## OpenStack End User Guide

The OpenStack End User Guide has additional information on using Swift. See the Manage objects and containers section.

## Source Documentation

- Partitioned Consistent Hash Ring
  - Ring IO
  - Ring
  - Ring Builder
  - Composite Ring Builder
- Proxy
  - Proxy Controllers
  - Proxy Server
- Account
  - Account Auditor
  - Account Backend
  - Account Reaper
  - Account Server
- Container
  - Container Auditor
  - Container Backend
  - Container Replicator
  - Container Server
  - Container Reconciler
  - Container Sharder
  - Container Sync
  - Container Updater
- Account DB and Container DB
  - DB
  - DB replicator
- Object
  - Object Auditor
  - Object Backend
  - Object Replicator
  - Object Reconstructor
  - Object Server
  - Object Updater
- Misc
  - ACLs
  - Buffered HTTP
  - Config
  - Constraints
  - Container Sync Realms
  - Digest
  - Direct Client
  - Exceptions
  - Internal Client
  - IPAddrs
  - Libc
  - Logs
  - Manager
  - MemCacheD
  - Middleware Registry
  - Request Helpers
  - StatsdClient
  - Storage Policy
  - Swob
  - Timestamp
  - Utils Base
  - Utils
  - WSGI
- Middleware
  - Account Quotas
  - AWS S3 Api
  - Backend Ratelimit
  - Bulk Operations (Delete and Archive Auto Extraction)
  - CatchErrors
  - CNAME Lookup
  - Container Quotas
  - Container Sync Middleware
  - Cross Domain Policies
  - Discoverability
  - Domain Remap
  - Dynamic Large Objects
  - Encryption
  - Etag Quoter
  - FormPost
  - GateKeeper
  - Healthcheck
  - Keymaster
  - KeystoneAuth
  - List Endpoints
  - Memcache
  - Name Check (Forbidden Character Filter)
  - Object Versioning
  - Proxy Logging
  - Ratelimit
  - Read Only
  - Recon
  - Server Side Copy
  - Static Large Objects
  - StaticWeb
  - Symlink
  - TempAuth
  - TempURL
  - Versioned Writes
  - XProfile
- Object Audit Watchers
  - Dark Data

## Indices and tables

- Index

- Module Index

- Search Page

this page last updated: 2025-11-03 12:55:44

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

found an error? report a bug