-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update examples and docs for backup locations
Signed-off-by: Nolan Brubaker <nolan@heptio.com>
- Loading branch information
Showing
13 changed files
with
201 additions
and
95 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
# Ark Backup Storage Locations | ||
|
||
## Backup Storage Location | ||
|
||
Ark can store backups in a number of locations. These are represented in the cluster via the `BackupStorageLocation` CRD. | ||
|
||
Ark must have at least one `BackupStorageLocation`. By default, this is expected to be named `default`, however the name can be changed by specifying `--default-backup-storage-location` on `ark server`. Backups that do not explicitly specify a storage location will be saved to this `BackupStorageLocation`. | ||
|
||
> *NOTE*: `BackupStorageLocation` takes the place of the `Config.backupStorageProvider` key as of v0.10.0 | ||
A sample YAML `BackupStorageLocation` looks like the following: | ||
|
||
```yaml | ||
apiVersion: ark.heptio.com/v1 | ||
kind: BackupStorageLocation | ||
metadata: | ||
name: default | ||
namespace: heptio-ark | ||
spec: | ||
provider: aws | ||
objectStorage: | ||
bucket: myBucket | ||
config: | ||
region: us-west-2 | ||
``` | ||
### Parameter Reference | ||
The configurable parameters are as follows: | ||
#### Main config parameters | ||
| Key | Type | Default | Meaning | | ||
| --- | --- | --- | --- | | ||
| `provider` | String (Ark natively supports `aws`, `gcp`, and `azure`. Other providers may be available via external plugins.)| Required Field | The name for whichever cloud provider will be used to actually store the backups. | | ||
| `objectStorage` | ObjectStorageLocation | Specification of the object storage for the given provider. | | ||
| `objectStorage/bucket` | String | Required Field | The storage bucket where backups are to be uploaded. | | ||
| `objectStorage/prefix` | String | Optional Field | The directory inside a storage bucket where backups are to be uploaded. | | ||
| `objectStorage/config` | map[string]string<br><br>(See the corresponding [AWS][0], [GCP][1], and [Azure][2]-specific configs or your provider's documentation.) | None (Optional) | Configuration keys/values to be passed to the cloud provider for backup storage. | | ||
|
||
#### AWS | ||
|
||
**(Or other S3-compatible storage)** | ||
|
||
##### objectStorage/config | ||
|
||
| Key | Type | Default | Meaning | | ||
| --- | --- | --- | --- | | ||
| `region` | string | Empty | *Example*: "us-east-1"<br><br>See [AWS documentation][3] for the full list.<br><br>Queried from the AWS S3 API if not provided. | | ||
| `s3ForcePathStyle` | bool | `false` | Set this to `true` if you are using a local storage service like Minio. | | ||
| `s3Url` | string | Required field for non-AWS-hosted storage| *Example*: http://minio:9000<br><br>You can specify the AWS S3 URL here for explicitness, but Ark can already generate it from `region`, and `bucket`. This field is primarily for local storage services like Minio.| | ||
| `kmsKeyId` | string | Empty | *Example*: "502b409c-4da1-419f-a16e-eif453b3i49f" or "alias/`<KMS-Key-Alias-Name>`"<br><br>Specify an [AWS KMS key][10] id or alias to enable encryption of the backups stored in S3. Only works with AWS S3 and may require explicitly granting key usage rights.| | ||
|
||
#### GCP | ||
|
||
No parameters required. | ||
|
||
#### Azure | ||
|
||
No parameters required. | ||
|
||
[0]: #aws | ||
[1]: #gcp | ||
[2]: #azure | ||
[3]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
# Copyright 2018 the Heptio Ark contributors. | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
--- | ||
apiVersion: ark.heptio.com/v1 | ||
kind: BackupStorageLocation | ||
metadata: | ||
name: default | ||
namespace: heptio-ark | ||
spec: | ||
provider: azure | ||
objectStorage: | ||
bucket: <YOUR_BUCKET> | ||
# Uncomment the below line to enable restic integration. | ||
# The format for resticLocation is <bucket>[/<prefix>], | ||
# e.g. "my-restic-bucket" or "my-restic-bucket/repos". | ||
# This MUST be a different bucket than the main Ark bucket | ||
# specified just above. | ||
# restic-location: <YOUR_RESTIC_LOCATION> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
# Copyright 2018 the Heptio Ark contributors. | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
--- | ||
apiVersion: ark.heptio.com/v1 | ||
kind: BackupStorageLocation | ||
metadata: | ||
name: default | ||
namespace: heptio-ark | ||
spec: | ||
provider: gcp | ||
objectStorage: | ||
bucket: <YOUR_BUCKET> | ||
# Uncomment the below line to enable restic integration. | ||
# The format for resticLocation is <bucket>[/<prefix>], | ||
# e.g. "my-restic-bucket" or "my-restic-bucket/repos". | ||
# This MUST be a different bucket than the main Ark bucket | ||
# specified just above. | ||
# restic-location: <YOUR_RESTIC_LOCATION> |
Oops, something went wrong.