From 13e722b5e6019e56a7dd9249fe60b4fb8bd65280 Mon Sep 17 00:00:00 2001 From: Dan Pock Date: Fri, 3 May 2024 15:15:47 -0400 Subject: [PATCH 1/7] Simplify description and define use-cases --- README.md | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 6d3d1592..a70b0617 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,18 @@ # 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 ability to back up and restore the Rancher application running on any Kubernetes cluster. +### Supported Use-Cases +- Backing up Rancher before upgrades and restoring after a failed one. +- Restoring your Rancher cluster to a new cluster in a DR scenario. +- Migrating your Rancher application between K8S clusters (of the same version). +- (Optional) Storing and restoring backups using [Kubernetes Encryption at Rest](https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/). ### Branches and Releases @@ -18,7 +21,7 @@ * the tag `v3.x.x` is cut from the `release/v3.0` branch for 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. @@ -59,6 +62,15 @@ kubectl delete namespace cattle-resources-system ---- +## More Info + +Our 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 rather flexible extension for backup and restore of Kubernetes resources. + +* 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. + ### CRDs It installs the following cluster-scoped CRDs: From d6b809eb1671e9dacf1f9ba0b3caeaea83543c8c Mon Sep 17 00:00:00 2001 From: Dan Pock Date: Fri, 3 May 2024 15:56:13 -0400 Subject: [PATCH 2/7] Adjust wording for supported versions --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a70b0617..3b2cbc0c 100644 --- a/README.md +++ b/README.md @@ -23,8 +23,11 @@ The Backup and Restore Operator provides ability to back up and restore the Ranc ## 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. + +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 our charts repository. From 78757f1889f9d48825e514b8c4bca3244caeafbf Mon Sep 17 00:00:00 2001 From: Dan Date: Thu, 9 May 2024 16:13:52 -0400 Subject: [PATCH 3/7] tweak wording --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 3b2cbc0c..cdea4779 100644 --- a/README.md +++ b/README.md @@ -9,9 +9,9 @@ The Backup and Restore Operator provides ability to back up and restore the Rancher application running on any Kubernetes cluster. ### Supported Use-Cases -- Backing up Rancher before upgrades and restoring after a failed one. -- Restoring your Rancher cluster to a new cluster in a DR scenario. -- Migrating your Rancher application between K8S clusters (of the same version). +- Backing up Rancher before Rancher upgrades and restoring after a failed one. +- Restoring your *Rancher application* to a new cluster in a DR scenario. +- Migrating your *Rancher application* between K8S distributions (of the same version). - (Optional) Storing and restoring backups using [Kubernetes Encryption at Rest](https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/). ### Branches and Releases From 5acf96e50c003e80cd7d510a5f8e00ed04332353 Mon Sep 17 00:00:00 2001 From: Dan Pock Date: Fri, 7 Jun 2024 11:19:05 -0400 Subject: [PATCH 4/7] remove old readme --- README.md.in | 28 ---------------------------- 1 file changed, 28 deletions(-) delete mode 100644 README.md.in 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. From c47275addc02ecb8a1bc6df1daa53f5a5603b5fd Mon Sep 17 00:00:00 2001 From: Dan Pock Date: Fri, 7 Jun 2024 11:21:50 -0400 Subject: [PATCH 5/7] Add inverse "what BRO is not" section --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index cdea4779..59b1c780 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,11 @@ The Backup and Restore Operator provides ability to back up and restore the Ranc - Migrating your *Rancher application* between K8S 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 From 90c5dff3d25fe5770db95641dfe1b41f3c6dd942 Mon Sep 17 00:00:00 2001 From: Dan Pock Date: Fri, 7 Jun 2024 11:22:27 -0400 Subject: [PATCH 6/7] simplify --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 59b1c780..254e58ba 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ The Backup and Restore Operator provides ability to back up and restore the Rancher application running on any Kubernetes cluster. -### Supported Use-Cases +### Use-Cases - Backing up Rancher before Rancher upgrades and restoring after a failed one. - Restoring your *Rancher application* to a new cluster in a DR scenario. - Migrating your *Rancher application* between K8S distributions (of the same version). From b46b1d519a1eca9fd08ca56b41eccfc3df874d71 Mon Sep 17 00:00:00 2001 From: Dan Pock Date: Fri, 7 Jun 2024 17:03:34 -0400 Subject: [PATCH 7/7] fix for feedback --- README.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 254e58ba..01d037ef 100644 --- a/README.md +++ b/README.md @@ -6,24 +6,24 @@ ## Description -The Backup and Restore Operator provides ability to back up and restore the Rancher application running on any Kubernetes cluster. +The Backup and Restore Operator provides the ability to back up and restore the Rancher application running on any Kubernetes cluster. -### Use-Cases -- Backing up Rancher before Rancher upgrades and restoring after a failed one. -- Restoring your *Rancher application* to a new cluster in a DR scenario. -- Migrating your *Rancher application* between K8S distributions (of the same version). +### 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, +- 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 @@ -34,7 +34,7 @@ Within the App catalog look for the `Rancher Backups` application chart. 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 our charts repository. +First, add the `rancher-charts` charts repository. ```bash helm repo add rancher-charts https://charts.rancher.io @@ -72,11 +72,11 @@ kubectl delete namespace cattle-resources-system ## More Info -Our 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 rather flexible extension for backup and restore of Kubernetes resources. +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 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. +* 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