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