# OpenStack Swift

## About OpenStack Swift

The [OpenStack Object Store project](https://wiki.openstack.org/wiki/Swift), known as Swift, offers cloud storage software so that you can store and retrieve lots of data with a simple API. It's built for scale and optimized for durability, availability, and concurrency across the entire data set. Swift is ideal for storing unstructured data that can grow without bound.

Cloudback supports OpenStack Swift via S3 API. You can check out the General compatibility statement in the [OpenStack Swift documentation](https://docs.openstack.org/swift/latest/s3_compat.html).

## Set up OpenStack Swift Container as a customer managed storage

To set up OpenStack Swift as a storage for your backups, follow the steps below.

### Create a new OpenStack Swift storage

* Open the [Cloudback Dashboard](https://app.cloudback.it/)
* Navigate to the `Storages` page by clicking on the `Storages` link in the left-side navigation pane
* Click on the `Add a new storage` button:

![Add new storage](https://2781059148-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQEI7SjBF2CddqNXZpCoE%2Fuploads%2Fgit-blob-48c773c5876576956efc547df9c59cfec230772b%2Fcustomer-managed-storages.png?alt=media)

* Type a storage name in the `Storage name` field. Use a name that will help you identify this storage in the future.
* Select `Swift S3` from a Storage Provider dropdown:

![OpenStack Swift storage settings](https://2781059148-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQEI7SjBF2CddqNXZpCoE%2Fuploads%2Fgit-blob-17220a4d0223d17e887be91a73b20bb725487e33%2Fcreate-new-storage-swift.png?alt=media)

### Set up storage settings

Choose the settings for the storage:

* **Deduplication type** - enable or disable data deduplication. For more details, please refer to the [Deduplication](https://docs.cloudback.it/managing-backups/data-deduplication) documentation
* **Archive type** - enable or disable archive password protection. For more details, please refer to the [Password-Protected Archives](https://docs.cloudback.it/security-and-compliance/password-protected-archives) documentation
* **Archive name pattern** - configure the archive name pattern, which is used to generate the name of the backup archive. For more details, please refer to the [Archive Name Pattern](https://docs.cloudback.it/managing-backups/archive-name-pattern) documentation

### Provide OpenStack Swift Server URL

In the `Step 1`, provide the OpenStack Swift Server URL. The URL is used to connect to the OpenStack Swift storage.

### Enter container name

In the `Step 2`, provide the container name. The container is used to store backups in the OpenStack Swift storage. You can find more information on how to create a container in the [OpenStack Swift documentation](https://docs.openstack.org/newton/user-guide/cli-swift-create-containers.html).

### Provide OpenStack Access Key ID and Access Key Secret

In the `Step 3`, provide the Access Key ID and Access Key Secret of [EC2 credentials](https://docs.openstack.org/python-openstackclient/latest/cli/command-objects/ec2-credentials-v3.html). These credentials are used to authenticate Cloudback with OpenStack Swift. You can learn more about how to configure the storage in the [OpenStack Swift documentation](https://docs.openstack.org/mitaka/config-reference/object-storage/configure-s3.html).

### Provide additional HTTP headers (Optional)

In the `Step 4` field you can provide additional HTTP headers to be used when uploading backups to the container. The headers can be used to set the [S3 Object Lock](https://docs.cloudback.it/security-and-compliance/amazon-s3-object-lock) or [S3 Object Tagging](https://docs.cloudback.it/supported-storages/amazon-s3-object-tagging) headers.

> **Note:** S3 Object Lock support depends on the OpenStack Swift implementation and may not be available in all deployments. Please verify that your OpenStack Swift provider supports S3 Object Lock before enabling this feature.

### Save storage

Click on `Save` button to save the new storage. You can also use a `Test` button to check if the storage is configured correctly. After saving the storage, you can use it for storing backups of your repositories.

All storage settings can be changed later in the `Storages` page. To edit the storage settings, click on the `Edit` button next to the storage you want to edit.

## Change the storage for a repository

You can change the storage for a particular repository in the [Repository Details](https://docs.cloudback.it/dashboard/repository-details) page. Also, you can assign it to multiple repositories through the [Bulk Operations](https://docs.cloudback.it/managing-backups/bulk-operations).

## Learn More

* [Customer Managed Storages](https://docs.cloudback.it/storage-configuration/customer-managed-storages)
* [Dashboard Overview](https://docs.cloudback.it/dashboard/dashboard-overview)
* [Repository Details](https://docs.cloudback.it/dashboard/repository-details)
* [Bulk Operations](https://docs.cloudback.it/managing-backups/bulk-operations)
* [Replicating Backups](https://docs.cloudback.it/storage-configuration/replicating-backups)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cloudback.it/supported-storages/openstack-swift-storage.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
