Skip to content

Commit

Permalink
update docs to reference config/ dir within release tarballs
Browse files Browse the repository at this point in the history
Signed-off-by: Steve Kriss <steve@heptio.com>
  • Loading branch information
skriss committed Nov 14, 2018
1 parent eace025 commit b9de44f
Show file tree
Hide file tree
Showing 12 changed files with 98 additions and 98 deletions.
24 changes: 12 additions & 12 deletions docs/aws-config.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,10 +123,10 @@ For more information, see [the AWS documentation on IAM users][14].
## Credentials and configuration
In the Ark root directory, run the following to first set up namespaces, RBAC, and other scaffolding. To run in a custom namespace, make sure that you have edited the YAML files to specify the namespace. See [Run in custom namespace][0].
In the Ark directory (i.e. where you extracted the release tarball), run the following to first set up namespaces, RBAC, and other scaffolding. To run in a custom namespace, make sure that you have edited the YAML files to specify the namespace. See [Run in custom namespace][0].
```bash
kubectl apply -f examples/common/00-prereqs.yaml
kubectl apply -f config/common/00-prereqs.yaml
```
Create a Secret. In the directory of the credentials file you just created, run:
Expand All @@ -139,23 +139,23 @@ kubectl create secret generic cloud-credentials \
Specify the following values in the example files:
* In `examples/aws/05-ark-backupstoragelocation.yaml`:
* In `config/aws/05-ark-backupstoragelocation.yaml`:
* Replace `<YOUR_BUCKET>` and `<YOUR_REGION>` (for S3 backup storage, region is optional and will be queried from the AWS S3 API if not provided). See the [BackupStorageLocation definition][21] for details.
* In `examples/aws/06-ark-volumesnapshotlocation.yaml`:
* In `config/aws/06-ark-volumesnapshotlocation.yaml`:
* Replace `<YOUR_REGION>`. See the [VolumeSnapshotLocation definition][6] for details.
* (Optional, use only to specify multiple volume snapshot locations) In `examples/aws/10-deployment.yaml` (or `examples/aws/10-deployment-kube2iam.yaml`, as appropriate):
* (Optional, use only to specify multiple volume snapshot locations) In `config/aws/10-deployment.yaml` (or `config/aws/10-deployment-kube2iam.yaml`, as appropriate):
* Uncomment the `--default-volume-snapshot-locations` and replace provider locations with the values for your environment.
* (Optional) If you run the nginx example, in file `examples/nginx-app/with-pv.yaml`:
* (Optional) If you run the nginx example, in file `config/nginx-app/with-pv.yaml`:
* Replace `<YOUR_STORAGE_CLASS_NAME>` with `gp2`. This is AWS's default `StorageClass` name.

* (Optional) If you have multiple clusters and you want to support migration of resources between them, in file `examples/aws/10-deployment.yaml`:
* (Optional) If you have multiple clusters and you want to support migration of resources between them, in file `config/aws/10-deployment.yaml`:

* Uncomment the environment variable `AWS_CLUSTER_NAME` and replace `<YOUR_CLUSTER_NAME>` with the current cluster's name. When restoring backup, it will make Ark (and cluster it's running on) claim ownership of AWS volumes created from snapshots taken on different cluster.
The best way to get the current cluster's name is to either check it with used deployment tool or to read it directly from the EC2 instances tags.
Expand Down Expand Up @@ -185,9 +185,9 @@ Specify the following values in the example files:
In the root of your Ark directory, run:
```bash
kubectl apply -f examples/aws/05-ark-backupstoragelocation.yaml
kubectl apply -f examples/aws/06-ark-volumesnapshotlocation.yaml
kubectl apply -f examples/aws/10-deployment.yaml
kubectl apply -f config/aws/05-ark-backupstoragelocation.yaml
kubectl apply -f config/aws/06-ark-volumesnapshotlocation.yaml
kubectl apply -f config/aws/10-deployment.yaml
```
## ALTERNATIVE: Setup permissions using kube2iam
Expand Down Expand Up @@ -281,7 +281,7 @@ It can be set up for Ark by creating a role that will have required permissions,
--policy-name heptio-ark-policy \
--policy-document file://./heptio-ark-policy.json
```
4. Update `AWS_ACCOUNT_ID` & `HEPTIO_ARK_ROLE_NAME` in the file `examples/aws/10-deployment-kube2iam.yaml`:
4. Update `AWS_ACCOUNT_ID` & `HEPTIO_ARK_ROLE_NAME` in the file `config/aws/10-deployment-kube2iam.yaml`:
```
---
Expand All @@ -301,7 +301,7 @@ It can be set up for Ark by creating a role that will have required permissions,
...
```
5. Run Ark deployment using the file `examples/aws/10-deployment-kube2iam.yaml`.
5. Run Ark deployment using the file `config/aws/10-deployment-kube2iam.yaml`.
[0]: namespace.md
[5]: https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html
Expand Down
12 changes: 6 additions & 6 deletions docs/azure-config.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,10 +105,10 @@ To integrate Ark with Azure, you must create an Ark-specific [service principal]

## Credentials and configuration

In the Ark root directory, run the following to first set up namespaces, RBAC, and other scaffolding. To run in a custom namespace, make sure that you have edited the YAML file to specify the namespace. See [Run in custom namespace][0].
In the Ark directory (i.e. where you extracted the release tarball), run the following to first set up namespaces, RBAC, and other scaffolding. To run in a custom namespace, make sure that you have edited the YAML file to specify the namespace. See [Run in custom namespace][0].

```bash
kubectl apply -f examples/common/00-prereqs.yaml
kubectl apply -f config/common/00-prereqs.yaml
```

Now you need to create a Secret that contains all the environment variables you just set. The command looks like the following:
Expand All @@ -125,15 +125,15 @@ kubectl create secret generic cloud-credentials \

Now that you have your Azure credentials stored in a Secret, you need to replace some placeholder values in the template files. Specifically, you need to change the following:

* In file `examples/azure/05-ark-backupstoragelocation.yaml`:
* In file `config/azure/05-ark-backupstoragelocation.yaml`:

* Replace `<YOUR_BLOB_CONTAINER>`, `<YOUR_STORAGE_RESOURCE_GROUP>`, and `<YOUR_STORAGE_ACCOUNT>`. See the [BackupStorageLocation definition][21] for details.

* In file `examples/azure/06-ark-volumesnapshotlocation.yaml`:
* In file `config/azure/06-ark-volumesnapshotlocation.yaml`:

* Replace `<YOUR_TIMEOUT>`. See the [VolumeSnapshotLocation definition][8] for details.

* (Optional, use only if you need to specify multiple volume snapshot locations) In `examples/azure/00-ark-deployment.yaml`:
* (Optional, use only if you need to specify multiple volume snapshot locations) In `config/azure/00-ark-deployment.yaml`:

* Uncomment the `--default-volume-snapshot-locations` and replace provider locations with the values for your environment.

Expand All @@ -142,7 +142,7 @@ Now that you have your Azure credentials stored in a Secret, you need to replace
In the root of your Ark directory, run:

```bash
kubectl apply -f examples/azure/
kubectl apply -f config/azure/
```

[0]: namespace.md
Expand Down
16 changes: 8 additions & 8 deletions docs/gcp-config.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,10 +93,10 @@ To integrate Heptio Ark with GCP, create an Ark-specific [Service Account][15]:
If you run Google Kubernetes Engine (GKE), make sure that your current IAM user is a cluster-admin. This role is required to create RBAC objects.
See [the GKE documentation][22] for more information.
In the Ark root directory, run the following to first set up namespaces, RBAC, and other scaffolding. To run in a custom namespace, make sure that you have edited the YAML files to specify the namespace. See [Run in custom namespace][0].
In the Ark directory (i.e. where you extracted the release tarball), run the following to first set up namespaces, RBAC, and other scaffolding. To run in a custom namespace, make sure that you have edited the YAML files to specify the namespace. See [Run in custom namespace][0].
```bash
kubectl apply -f examples/common/00-prereqs.yaml
kubectl apply -f config/common/00-prereqs.yaml
```
Create a Secret. In the directory of the credentials file you just created, run:
Expand All @@ -111,15 +111,15 @@ kubectl create secret generic cloud-credentials \
Specify the following values in the example files:
* In file `examples/gcp/05-ark-backupstoragelocation.yaml`:
* In file `config/gcp/05-ark-backupstoragelocation.yaml`:
* Replace `<YOUR_BUCKET>`. See the [BackupStorageLocation definition][7] for details.
* (Optional) If you run the nginx example, in file `examples/nginx-app/with-pv.yaml`:
* (Optional) If you run the nginx example, in file `config/nginx-app/with-pv.yaml`:
* Replace `<YOUR_STORAGE_CLASS_NAME>` with `standard`. This is GCP's default `StorageClass` name.

* (Optional, use only if you need to specify multiple volume snapshot locations) In `examples/gcp/10-deployment.yaml`:
* (Optional, use only if you need to specify multiple volume snapshot locations) In `config/gcp/10-deployment.yaml`:

* Uncomment the `--default-volume-snapshot-locations` and replace provider locations with the values for your environment.

Expand All @@ -128,9 +128,9 @@ Specify the following values in the example files:
In the root of your Ark directory, run:

```bash
kubectl apply -f examples/gcp/05-ark-backupstoragelocation.yaml
kubectl apply -f examples/gcp/06-ark-volumesnapshotlocation.yaml
kubectl apply -f examples/gcp/10-deployment.yaml
kubectl apply -f config/gcp/05-ark-backupstoragelocation.yaml
kubectl apply -f config/gcp/06-ark-volumesnapshotlocation.yaml
kubectl apply -f config/gcp/10-deployment.yaml
```

[0]: namespace.md
Expand Down
32 changes: 14 additions & 18 deletions docs/get-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,29 +16,31 @@ See [Set up Ark on your platform][3] for how to configure Ark for a production e

### Download

Clone or fork the Ark repository:
1. Download the [latest release's][26] tarball for your platform.

```
git clone git@github.com:heptio/ark.git
```
1. Extract the tarball:
```bash
tar -xzf <RELEASE-TARBALL-NAME>.tar.gz -C /dir/to/extract/to
```
We'll refer to the directory you extracted to as the "Ark directory" in subsequent steps.
NOTE: Make sure to check out the appropriate version. We recommend that you check out the latest tagged version. The master branch is under active development and might not be stable.
1. Move the `ark` binary from the Ark directory to somewhere in your PATH.
### Set up server
These instructions start the Ark server and a Minio instance that is accessible from within the cluster only. See the following section for information about configuring your cluster for outside access to Minio. Outside access is required to access logs and run `ark describe` commands.
1. Start the server and the local storage service. In the root directory of Ark, run:
1. Start the server and the local storage service. In the Ark directory, run:
```bash
kubectl apply -f examples/common/00-prereqs.yaml
kubectl apply -f examples/minio/
kubectl apply -f config/common/00-prereqs.yaml
kubectl apply -f config/minio/
```
1. Deploy the example nginx application:
```bash
kubectl apply -f examples/nginx-app/base.yaml
kubectl apply -f config/nginx-app/base.yaml
```
1. Check to see that both the Ark and nginx deployments are successfully created:
Expand Down Expand Up @@ -95,12 +97,6 @@ In this case:

1. In `examples/minio/05-ark-backupstoragelocation.yaml`, uncomment the `publicUrl` line and provide the URL and port of your Ingress as the value of the `publicUrl` field.

### Install client
[Download the client][26].
Make sure that you install somewhere in your PATH.
### Back up

1. Create a backup for any object that matches the `app=nginx` label selector:
Expand Down Expand Up @@ -204,9 +200,9 @@ snapshots, it is safe to remove the `heptio-ark` namespace and everything else c
example:
```
kubectl delete -f examples/common/
kubectl delete -f examples/minio/
kubectl delete -f examples/nginx-app/base.yaml
kubectl delete -f config/common/
kubectl delete -f config/minio/
kubectl delete -f config/nginx-app/base.yaml
```
[3]: install-overview.md
Expand Down
2 changes: 1 addition & 1 deletion docs/hooks.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ spec.
We are going to walk through using both pre and post hooks for freezing a file system. Freezing the
file system is useful to ensure that all pending disk I/O operations have completed prior to taking a snapshot.

We will be using [example/nginx-app/with-pv.yaml][2] for this example. Follow the [steps for your provider][3] to
We will be using [examples/nginx-app/with-pv.yaml][2] for this example. Follow the [steps for your provider][3] to
setup this example.

### Annotations
Expand Down
12 changes: 6 additions & 6 deletions docs/ibm-config.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,10 @@ Several comments:

## Credentials and configuration

In the Ark root directory, run the following to first set up namespaces, RBAC, and other scaffolding. To run in a custom namespace, make sure that you have edited the YAML files to specify the namespace. See [Run in custom namespace][0].
In the Ark directory (i.e. where you extracted the release tarball), run the following to first set up namespaces, RBAC, and other scaffolding. To run in a custom namespace, make sure that you have edited the YAML files to specify the namespace. See [Run in custom namespace][0].

```bash
kubectl apply -f examples/common/00-prereqs.yaml
kubectl apply -f config/common/00-prereqs.yaml
```

Create a Secret. In the directory of the credentials file you just created, run:
Expand All @@ -53,11 +53,11 @@ kubectl create secret generic cloud-credentials \

Specify the following values in the example files:

* In `examples/ibm/05-ark-backupstoragelocation.yaml`:
* In `config/ibm/05-ark-backupstoragelocation.yaml`:

* Replace `<YOUR_BUCKET>`, `<YOUR_REGION>` and `<YOUR_URL_ACCESS_POINT>`. See the [BackupStorageLocation definition][6] for details.

* (Optional) If you run the nginx example, in file `examples/nginx-app/with-pv.yaml`:
* (Optional) If you run the nginx example, in file `config/nginx-app/with-pv.yaml`:

* Replace `<YOUR_STORAGE_CLASS_NAME>` with your `StorageClass` name.

Expand All @@ -66,8 +66,8 @@ Specify the following values in the example files:
In the root of your Ark directory, run:

```bash
kubectl apply -f examples/ibm/05-ark-backupstoragelocation.yaml
kubectl apply -f examples/ibm/10-deployment.yaml
kubectl apply -f config/ibm/05-ark-backupstoragelocation.yaml
kubectl apply -f config/ibm/10-deployment.yaml
```

[0]: namespace.md
Expand Down
4 changes: 2 additions & 2 deletions docs/install-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ After you set up the Ark server, try these examples:
1. Start the sample nginx app:

```bash
kubectl apply -f examples/nginx-app/base.yaml
kubectl apply -f config/nginx-app/base.yaml
```

1. Create a backup:
Expand Down Expand Up @@ -73,7 +73,7 @@ After you set up the Ark server, try these examples:
1. Start the sample nginx app:

```bash
kubectl apply -f examples/nginx-app/with-pv.yaml
kubectl apply -f config/nginx-app/with-pv.yaml
```

1. Create a backup with PV snapshotting:
Expand Down
30 changes: 16 additions & 14 deletions docs/namespace.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ you run Ark client commands.

## Edit the example files

The Ark repository includes [a set of examples][0] that you can use to set up your Ark server. The
The Ark release tarballs include a set of example configs that you can use to set up your Ark server. The
examples place the server and backup/schedule/restore/etc. data in the `heptio-ark` namespace.

To run the server in another namespace, you edit the relevant files, changing `heptio-ark` to
Expand All @@ -16,7 +16,9 @@ To store your backups, schedules, restores, and config in another namespace, you
files, changing `heptio-ark` to your desired namespace. You also need to create the
`cloud-credentials` secret in your desired namespace.

For all cloud providers, edit `https://github.com/heptio/ark/blob/master/examples/common/00-prereqs.yaml`. This file defines:
First, ensure you've [downloaded & extracted the latest release][0].

For all cloud providers, edit `config/common/00-prereqs.yaml`. This file defines:

* CustomResourceDefinitions for the Ark objects (backups, schedules, restores, downloadrequests, etc.)
* The namespace where the Ark server runs
Expand All @@ -29,34 +31,34 @@ For all cloud providers, edit `https://github.com/heptio/ark/blob/master/example

For AWS, edit:

* `https://github.com/heptio/ark/blob/master/examples/aws/05-ark-backupstoragelocation.yaml`
* `https://github.com/heptio/ark/blob/master/examples/aws/06-ark-volumesnapshotlocation.yaml`
* `https://github.com/heptio/ark/blob/master/examples/aws/10-deployment.yaml`
* `config/aws/05-ark-backupstoragelocation.yaml`
* `config/aws/06-ark-volumesnapshotlocation.yaml`
* `config/aws/10-deployment.yaml`


### Azure

For Azure, edit:

* `https://github.com/heptio/ark/blob/master/examples/azure/00-ark-deployment.yaml`
* `https://github.com/heptio/ark/blob/master/examples/azure/05-ark-backupstoragelocation.yaml`
* `https://github.com/heptio/ark/blob/master/examples/azure/06-ark-volumesnapshotlocation.yaml`
* `config/azure/00-ark-deployment.yaml`
* `config/azure/05-ark-backupstoragelocation.yaml`
* `config/azure/06-ark-volumesnapshotlocation.yaml`

### GCP

For GCP, edit:

* `https://github.com/heptio/ark/blob/master/examples/gcp/05-ark-backupstoragelocation.yaml`
* `https://github.com/heptio/ark/blob/master/examples/gcp/06-ark-volumesnapshotlocation.yaml`
* `https://github.com/heptio/ark/blob/master/examples/gcp/10-deployment.yaml`
* `config/gcp/05-ark-backupstoragelocation.yaml`
* `config/gcp/06-ark-volumesnapshotlocation.yaml`
* `config/gcp/10-deployment.yaml`


### IBM

For IBM, edit:

* `https://github.com/heptio/ark/blob/master/examples/ibm/05-ark-backupstoragelocation.yaml`
* `https://github.com/heptio/ark/blob/master/examples/ibm/10-deployment.yaml`
* `config/ibm/05-ark-backupstoragelocation.yaml`
* `config/ibm/10-deployment.yaml`


## Specify the namespace in client commands
Expand All @@ -69,4 +71,4 @@ ark client config set namespace=<NAMESPACE_VALUE>



[0]: https://github.com/heptio/ark/tree/master/examples
[0]: quickstart.md#download
14 changes: 7 additions & 7 deletions docs/restic.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,20 +30,20 @@ cross-volume-type data migrations. Stay tuned as this evolves!

### Instructions

1. Download an updated Ark client from the [latest release][3], and move it to a location in your PATH.
1. Ensure you've [downloaded & extracted the latest release][3].

1. From the Ark root directory, run the following to create new custom resource definitions:
1. In the Ark directory (i.e. where you extracted the release tarball), run the following to create new custom resource definitions:

```bash
kubectl apply -f examples/common/00-prereqs.yaml
kubectl apply -f config/common/00-prereqs.yaml
```

1. Run one of the following for your platform to create the daemonset:

- AWS: `kubectl apply -f examples/aws/20-restic-daemonset.yaml`
- Azure: `kubectl apply -f examples/azure/20-restic-daemonset.yaml`
- GCP: `kubectl apply -f examples/gcp/20-restic-daemonset.yaml`
- Minio: `kubectl apply -f examples/minio/30-restic-daemonset.yaml`
- AWS: `kubectl apply -f config/aws/20-restic-daemonset.yaml`
- Azure: `kubectl apply -f config/azure/20-restic-daemonset.yaml`
- GCP: `kubectl apply -f config/gcp/20-restic-daemonset.yaml`
- Minio: `kubectl apply -f config/minio/30-restic-daemonset.yaml`

You're now ready to use Ark with restic.
Expand Down
Loading

0 comments on commit b9de44f

Please sign in to comment.