15599: Look up IAM role name from metadata if not configured.
[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           # IAM role name to use when retrieving credentials from
36           # instance metadata. This is optional (if omitted, the role
37           # name itself is retrieved from instance metadata) but it
38           # may protect you from using the wrong credentials in the
39           # event of an installation/configuration error.
40           IAMRole: s3access
41
42           # The credentials to use to access the bucket. Omit or leave
43           # blank to use the credentials provided by the instance's
44           # IAM role.
45           AccessKey: aaaaa
46           SecretKey: aaaaa
47
48           # Storage provider endpoint. For Amazon S3, use "" or
49           # omit. For Google Cloud Storage, use
50           # "https://storage.googleapis.com".
51           Endpoint: ""
52
53           # Storage provider region. For Google Cloud Storage, use ""
54           # or omit.
55           Region: us-east-1a
56
57           # Change to true if the region requires a LocationConstraint
58           # declaration.
59           LocationConstraint: false
60
61           # Bucket name.
62           Bucket: example-bucket-name
63
64           # Requested page size for "list bucket contents" requests.
65           IndexPageSize: 1000
66
67           # Maximum time to wait while making the initial connection
68           # to the backend before failing the request.
69           ConnectTimeout: 1m
70
71           # Maximum time to wait for a complete response from the
72           # backend before failing the request.
73           ReadTimeout: 2m
74
75           # Maximum eventual consistency latency
76           RaceWindow: 24h
77
78           # Enable deletion (garbage collection) even when the
79           # configured BlobTrashLifetime is zero.  WARNING: eventual
80           # consistency may result in race conditions that can cause
81           # data loss.  Do not enable this unless you understand and
82           # accept the risk.
83           UnsafeDelete: false
84
85         # How much replication is provided by the underlying bucket.
86         # This is used to inform replication decisions at the Keep
87         # layer.
88         Replication: 2
89
90         # If true, do not accept write or trash operations, even if
91         # AccessViaHosts.*.ReadOnly is false.
92         #
93         # If false or omitted, enable write access (subject to
94         # AccessViaHosts.*.ReadOnly, where applicable).
95         ReadOnly: false
96
97         # Storage classes to associate with this volume.  See "Storage
98         # classes" in the "Admin" section of doc.arvados.org.
99         StorageClasses: null
100 </code></pre></notextile>