You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/installing-workflow/configuring-object-storage.md
+70-42Lines changed: 70 additions & 42 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,47 +13,74 @@ Every component that relies on object storage uses two inputs for configuration:
13
13
14
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.
15
15
16
-
***Step 1:** Create storage buckets for each of the Workflow subsystems: builder, registry and database
17
-
* Note: Depending on your chosen object storage you may need to provide globally unique bucket names.
18
-
* Note: If you provide credentials with sufficient access to the underlying storage, Workflow components will create the buckets if they do not exist.
19
-
***Step 2:** If applicable, generate credentials that have write access to the storage buckets created in Step 1
20
-
***Step 3:** If you haven't already fetched the helm classic chart, do so with `helmc fetch deis/workflow-v2.3.0`
21
-
***Step 4:** Update storage details either by setting the appropriate environment variables or by modifying the template file `tpl/generate_params.toml`
22
-
***1.** Using environment variables:
23
-
* Set `STORAGE_TYPE` to `s3`, `azure` or `gcs`, then set the following environment variables accordingly.
* To specify tenant set `SWIFT_TENANT` if the auth version is 2 or more.
49
-
50
-
***2.** Using template file `tpl/generate_params.toml`:
51
-
* Open the helm classic chart with `helmc edit workflow-v2.3.0` and look for the template file `tpl/generate_params.toml`
52
-
* Update the `storage` parameter to reference the storage platform you are using: `s3`, `azure`, `gcs`
53
-
* Update the values in the section which corresponds to your storage type, including region, bucket names and access credentials
54
-
* Note: you do not need to base64 encode any of these values as Helm Classic will handle encoding automatically
55
-
***Step 5:** Save your changes and re-generate the helm classic chart by running `helmc generate -x manifests workflow-v2.3.0`
56
-
***Step 6:** Check the generated file in your manifests directory, you should see `deis-objectstorage-secret.yaml`
16
+
### Step 1: Create storage buckets
17
+
18
+
Create storage buckets for each of the Workflow subsystems: `builder`, `registry`, and `database`.
19
+
20
+
Depending on your chosen object storage you may need to provide globally unique bucket names.
21
+
22
+
If you provide credentials with sufficient access to the underlying storage, Workflow components will create the buckets if they do not exist.
23
+
24
+
### Step 2: Generate storage credentials
25
+
26
+
If applicable, generate credentials that have create and write access to the storage buckets created in Step 1.
27
+
28
+
If you are using AWS S3 and your Kubernetes nodes are configured with appropriate IAM API keys via InstanceRoles, you do not need to create API credentials. Do, however, validate that the InstanceRole has appropriate permissions to the configured buckets!
29
+
30
+
### Step 3: Fetch Workflow charts
31
+
32
+
If you haven't already fetched the Helm Classic chart, do so with `helmc fetch deis/workflow-v2.3.0`
33
+
34
+
### Step 4: Configure Workflow charts
35
+
36
+
Operators should configure object storage by either populating a set of environment variables or editing the the Helm Classic parameters file before running `helmc generate`. Both options are documented below:
37
+
38
+
**Option 1:** Using environment variables
39
+
40
+
| Storage Type | Required Variables | Notes |
41
+
| --- | --- | --- |
42
+
| s3 |`AWS_ACCESS_KEY`, `AWS_SECRET_KEY`, `AWS_REGISTRY_BUCKET`, `AWS_DATABASE_BUCKET`, `AWS_BUILDER_BUCKET`, `S3_REGION`| To use [IAM credentials][aws-iam], it is not necessary to set `AWS_ACCESS_KEY` or `AWS_SECRET_KEY`. |
| swift |`SWIFT_USERNAME`, `SWIFT_PASSWORD`, `SWIFT_AUTHURL`, `SWIFT_AUTHVERSION`, `SWIFT_REGISTRY_CONTAINER`, `SWIFT_DATABASE_CONTAINER`, `SWIFT_BUILDER_CONTAINER`| To specify tenant set `SWIFT_TENANT` if the auth version is 2 or later. |
46
+
47
+
!!! note
48
+
These environment variables should be set **before** running `helmc generate` in Step 5.
49
+
50
+
**Option 2:** Using template file `tpl/generate_params.toml`
51
+
52
+
* Edit Helm Classic chart by running `helmc edit workflow-v2.3.0` and look for the template file `tpl/generate_params.toml`
53
+
* Update the `storage` parameter to reference the platform you are using, e.g. `s3`, `azure`, `gcs`, or `swift`
54
+
* Find the corresponding section for your storage type and provide appropriate values including region, bucket names, and access credentials.
55
+
* Save your changes to `tpl/generate_params.toml`.
56
+
57
+
!!! note
58
+
You do not need to base64 encode any of these values as Helm Classic will handle encoding automatically.
59
+
60
+
### Step 5: Generate manifests
61
+
62
+
Generate the Workflow chart by running `helmc generate -x manifests workflow-v2.3.0`.
63
+
64
+
### Step 6: Verify credentials
65
+
66
+
Helm Classic stores the object storage configuration as a Kubernetes secret.
67
+
68
+
You may check the contents of the generated file named `deis-objectstorage-secret.yaml` in the `helmc` workspace directory:
You are now ready to `helmc install workflow-v2.3.0` using your desired object storage.
59
86
@@ -90,7 +117,8 @@ If you are using slugbuilder as a standalone component the following configurati
90
117
-`TAR_PATH` - The location of the application `.tar` archive, relative to the configured bucket for builder e.g. `home/burley-yeomanry:git-3865c987/tar`
91
118
-`PUT_PATH` - The location to upload the finished slug, relative to the configured bucket fof builder e.g. `home/burley-yeomanry:git-3865c987/push`
92
119
93
-
**Note: these environment variables are case-sensitive**
0 commit comments