diff --git a/README.md b/README.md index 6d3d1592..01d037ef 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,40 @@ # Backup and Restore Operator -### Latest release +## Latest release [![Latest](https://img.shields.io/badge/dynamic/yaml?label=backup-restore-operator&query=%24.entries%5B%27rancher-backup%27%5D%5B0%5D.appVersion&url=https%3A%2F%2Fcharts.rancher.io%2Findex.yaml)](https://github.com/rancher/backup-restore-operator/releases/latest) -### Description +## Description -* This operator provides ability to backup and restore Kubernetes applications (metadata) running on any cluster. It accepts a list of resources that need to be backed up for a particular application. It then gathers these resources by querying the Kubernetes API server, packages all the resources to create a tarball file and pushes it to the configured backup storage location. Since it gathers resources by querying the API server, it can back up applications from any type of Kubernetes cluster. -* The operator preserves the ownerReferences on all resources, hence maintaining dependencies between objects. -* It also provides encryption support, to encrypt user specified resources before saving them in the backup file. It uses the same encryption configuration that is used to enable [Kubernetes Encryption at Rest](https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/). Follow the steps in [this section](https://ranchermanager.docs.rancher.com/reference-guides/backup-restore-configuration/backup-configuration#encryption) to configure this. +The Backup and Restore Operator provides the ability to back up and restore the Rancher application running on any Kubernetes cluster. + +### Use Cases +- Performing a backup before upgrading Rancher and restoring after a failed upgrade. +- Restoring your *Rancher application* to a new cluster in a disaster recovery scenario. +- Migrating your *Rancher application* between Kubernetes distributions of the same version. +- (Optional) Storing and restoring backups using [Kubernetes Encryption at Rest](https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/). +What the Backup Restore Operator is not: +- A downstream cluster snapshot tool, +- A replacement for Etcd cluster backups, +- Configured to back up user-created resources on the Rancher cluster. ### Branches and Releases -* the tag `v5.x.x` is cut from the `release/v5.0` branch for Rancher v2.9.x line -* the tag `v4.x.x` is cut from the `release/v4.0` branch for Rancher v2.8.x line -* the tag `v3.x.x` is cut from the `release/v3.0` branch for Rancher v2.7.x line +* the tag `v5.x.x` is cut from the `release/v5.0` branch for the Rancher v2.9.x line +* the tag `v4.x.x` is cut from the `release/v4.0` branch for the Rancher v2.8.x line +* the tag `v3.x.x` is cut from the `release/v3.0` branch for the Rancher v2.7.x line ---- -### Quickstart +## Quickstart -If Rancher v2.5+ is installed, you can install the `backup-restore-operator`, from the [Cluster Explorer UI](https://ranchermanager.docs.rancher.com/pages-for-subheaders/backup-restore-and-disaster-recovery). -Otherwise, you can install the charts via `helm repo` by executing the commands below. +You will need to install the `backup-restore-operator`, from the [Cluster Explorer UI](https://ranchermanager.docs.rancher.com/pages-for-subheaders/backup-restore-and-disaster-recovery). +Within the App catalog look for the `Rancher Backups` application chart. -First, add our charts repository. +However, when performing a Rancher migration you will not have the UI installed. +So, you will need to install the charts via `helm repo` by executing the commands below. + +First, add the `rancher-charts` charts repository. ```bash helm repo add rancher-charts https://charts.rancher.io @@ -59,6 +70,15 @@ kubectl delete namespace cattle-resources-system ---- +## More Info + +The default chart is built for the use case of backing up and restoring the Rancher application. +However, under the hood the Backup Restore Operator is a rather flexible extension for backup and restore of Kubernetes resources. + +* This operator provides the ability to backup and restore Kubernetes applications (metadata) running on any cluster. It accepts a list of resources that need to be backed up for the application. It then gathers these resources by querying the Kubernetes API server, packages all the resources to create a tarball file, and pushes it to the configured backup storage location. Since it gathers resources by querying the API server, it can back up applications from any type of Kubernetes cluster. +* The operator preserves the `ownerReferences` on all resources, hence maintaining dependencies between objects. +* It also provides encryption support, to encrypt user specified resources before saving them in the backup file. It uses the same encryption configuration that is used to enable [Kubernetes Encryption at Rest](https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/). Follow the steps in [this section](https://ranchermanager.docs.rancher.com/reference-guides/backup-restore-configuration/backup-configuration#encryption) to configure this. + ### CRDs It installs the following cluster-scoped CRDs: diff --git a/README.md.in b/README.md.in deleted file mode 100644 index e81c3f8a..00000000 --- a/README.md.in +++ /dev/null @@ -1,28 +0,0 @@ -backup -======== - -## ***FILL THIS OUT WITH A USEFUL DESCRIPTION OF THIS REPO*** - -## Building - -`make` - - -## Running - -`./bin/backup` - -## License -Copyright (c) 2019 [Rancher Labs, Inc.](http://rancher.com) - -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](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.