15599: Support IAM role credentials in keepstore.
[arvados.git] / doc / install / configure-s3-object-storage.html.textile.liquid
1 ---
2 layout: default
3 navsection: installguide
4 title: Configure S3 object storage
5 ...
6 {% comment %}
7 Copyright (C) The Arvados Authors. All rights reserved.
8
9 SPDX-License-Identifier: CC-BY-SA-3.0
10 {% endcomment %}
11
12 Keepstore can store data in object storage compatible with the S3 API, such as Amazon S3, Google Cloud Storage, or Ceph RADOS.
13
14 Volumes are configured in the @Volumes@ section of the cluster configuration file.
15
16 {% include 'assign_volume_uuid' %}
17
18 <notextile><pre><code>Clusters:
19   <span class="userinput">uuid_prefix</span>:
20     Volumes:
21       <span class="userinput">uuid_prefix</span>-nyw5e-<span class="userinput">000000000000000</span>:
22         AccessViaHosts:
23           # This section determines which keepstore servers access the
24           # volume. In this example, keep0 has read/write access, and
25           # keep1 has read-only access.
26           #
27           # If the AccessViaHosts section is empty or omitted, all
28           # keepstore servers will have read/write access to the
29           # volume.
30           "http://<span class="userinput">keep0.uuid_prefix.example.com</span>:25107/": {}
31           "http://<span class="userinput">keep1.uuid_prefix.example.com</span>:25107/": {ReadOnly: true}
32
33         Driver: S3
34         DriverParameters:
35           # If an IAM role name is given here, credentials to access
36           # the bucket will be retrieved at runtime from instance
37           # metadata.
38           IAMRole: s3access
39
40           # The credentials to use to access the bucket. Omit or leave
41           # blank if IAMRole is configured.
42           AccessKey: aaaaa
43           SecretKey: aaaaa
44
45           # Storage provider endpoint. For Amazon S3, use "" or
46           # omit. For Google Cloud Storage, use
47           # "https://storage.googleapis.com".
48           Endpoint: ""
49
50           # Storage provider region. For Google Cloud Storage, use ""
51           # or omit.
52           Region: us-east-1a
53
54           # Change to true if the region requires a LocationConstraint
55           # declaration.
56           LocationConstraint: false
57
58           # Bucket name.
59           Bucket: example-bucket-name
60
61           # Requested page size for "list bucket contents" requests.
62           IndexPageSize: 1000
63
64           # Maximum time to wait while making the initial connection
65           # to the backend before failing the request.
66           ConnectTimeout: 1m
67
68           # Maximum time to wait for a complete response from the
69           # backend before failing the request.
70           ReadTimeout: 2m
71
72           # Maximum eventual consistency latency
73           RaceWindow: 24h
74
75           # Enable deletion (garbage collection) even when the
76           # configured BlobTrashLifetime is zero.  WARNING: eventual
77           # consistency may result in race conditions that can cause
78           # data loss.  Do not enable this unless you understand and
79           # accept the risk.
80           UnsafeDelete: false
81
82         # How much replication is provided by the underlying bucket.
83         # This is used to inform replication decisions at the Keep
84         # layer.
85         Replication: 2
86
87         # If true, do not accept write or trash operations, even if
88         # AccessViaHosts.*.ReadOnly is false.
89         #
90         # If false or omitted, enable write access (subject to
91         # AccessViaHosts.*.ReadOnly, where applicable).
92         ReadOnly: false
93
94         # Storage classes to associate with this volume.  See "Storage
95         # classes" in the "Admin" section of doc.arvados.org.
96         StorageClasses: null
97 </code></pre></notextile>