Skip to content

Commit 8757d5c

Browse files
authored
Merge pull request #352 from kmala/swift
feat(swift): Add swift as an object storage
2 parents 694974f + aa40a49 commit 8757d5c

2 files changed

Lines changed: 20 additions & 2 deletions

File tree

src/installing-workflow/configuring-object-storage.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Every component that relies on object storage uses two inputs for configuration:
1111
1. Component-specific environment variables (e.g. `BUILDER_STORAGE` and `REGISTRY_STORAGE`)
1212
2. Access credentials stored as a Kubernetes secret named `objectstorage-keyfile`
1313

14-
The helm classic chart for Deis Workflow can be easily configured to connect Workflow components to off-cluster object storage. Deis Workflow currently supports Google Compute Storage, Amazon S3 and Azure Blob Storage.
14+
The helm classic chart for Deis Workflow can be easily configured to connect Workflow components to off-cluster object storage. Deis Workflow currently supports Google Compute Storage, Amazon S3, Azure Blob Storage and OpenStack Swift Storage.
1515

1616
* **Step 1:** Create storage buckets for each of the Workflow subsystems: builder, registry and database
1717
* Note: Depending on your chosen object storage you may need to provide globally unique bucket names.
@@ -40,6 +40,13 @@ The helm classic chart for Deis Workflow can be easily configured to connect Wor
4040
export AZURE_ACCOUNT_NAME, AZURE_ACCOUNT_KEY, AZURE_REGISTRY_CONTAINER, AZURE_DATABASE_CONTAINER, AZURE_BUILDER_CONTAINER
4141
```
4242

43+
* For `STORAGE_TYPE=swift`:
44+
45+
```
46+
export SWIFT_USERNAME, SWIFT_PASSWORD, SWIFT_AUTHURL, SWIFT_AUTHVERSION, SWIFT_REGISTRY_CONTAINER, SWIFT_DATABASE_CONTAINER, SWIFT_BUILDER_CONTAINER
47+
```
48+
* To specify tenant set `SWIFT_TENANT` if the auth version is 2 or more.
49+
4350
* **2.** Using template file `tpl/generate_params.toml`:
4451
* Open the helm classic chart with `helmc edit workflow-v2.1.0` and look for the template file `tpl/generate_params.toml`
4552
* Update the `storage` parameter to reference the storage platform you are using: `s3`, `azure`, `gcs`
@@ -62,6 +69,7 @@ During the `helmc generate` step, Helm Classic creates a Kubernetes secret in th
6269
# - azure: Store persistent data in Azure's object storage
6370
# - gcs: Store persistent data in Google Cloud Storage
6471
# - minio: Store persistent data on in-cluster Minio server
72+
# - swift: Store persistent data in OpenStack Swift object storage cluster
6573
storage = "minio"
6674
```
6775

@@ -143,6 +151,15 @@ Azure (`DATABASE_STORAGE=azure`):
143151
* `WABS_ACCESS_KEY` via /var/run/secrets/deis/objectstore/creds/accountkey
144152
* `BUCKET_NAME` via /var/run/secrets/deis/objectstore/creds/database-container
145153

154+
Swift (`DATABASE_STORAGE=swift`):
155+
156+
* `SWIFT_USERNAME` via /var/run/secrets/deis/objectstore/creds/username
157+
* `SWIFT_PASSWORD` via /var/run/secrets/deis/objectstore/creds/password
158+
* `SWIFT_AUTHURL` via /var/run/secrets/deis/objectstore/creds/authurl
159+
* `SWIFT_AUTHVERSION` via /var/run/secrets/deis/objectstore/creds/authversion
160+
* `SWIFT_TENANT` via /var/run/secrets/deis/objectstore/creds/tenant
161+
* `BUCKET_NAME` via /var/run/secrets/deis/objectstore/creds/database-container
162+
146163
[minio]: ../understanding-workflow/components.md#object-storage
147164
[generate-params-toml]: https://github.com/deis/charts/blob/master/workflow-dev/tpl/generate_params.toml
148165
[aws-iam]: http://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html

src/managing-workflow/production-deployments.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ not resilient to cluster outages. If Minio is shut down, all data is lost.
1212

1313
In production, persistent storage can be achieved by running an external object store.
1414
For users on AWS, GCE/GKE or Azure, the convenience of Amazon S3, Google GCS or Microsoft Azure Storage
15-
makes the prospect of running a Minio-less Workflow cluster quite reasonable.
15+
makes the prospect of running a Minio-less Workflow cluster quite reasonable. For users who have restriction
16+
on using external object storage using swift object storage can be an option.
1617

1718
Running a Workflow cluster without Minio provides several advantages:
1819

0 commit comments

Comments
 (0)