From b46ae4a76bbf37e5222fb922d879794108e75daf Mon Sep 17 00:00:00 2001 From: Matt Bator Date: Tue, 12 Nov 2024 10:25:58 -0700 Subject: [PATCH 1/2] Update pattern name and getting started steps --- .../ansible-edge-gitops-kasten/_index.md | 10 +++---- .../getting-started.md | 27 ++++++++++++------- 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/content/patterns/ansible-edge-gitops-kasten/_index.md b/content/patterns/ansible-edge-gitops-kasten/_index.md index e2289b747..07066616d 100644 --- a/content/patterns/ansible-edge-gitops-kasten/_index.md +++ b/content/patterns/ansible-edge-gitops-kasten/_index.md @@ -1,6 +1,6 @@ --- -title: Ansible Edge GitOps with Veeam Kasten -date: 2024-10-28 +title: OpenShift Virtualization Data Protection with Veeam Kasten +date: 2024-11-12 tier: sandbox summary: This pattern uses OpenShift Virtualization to simulate an edge environment for VMs, protected by Veeam Kasten. rh_products: @@ -22,13 +22,13 @@ links: # ci: aegitops --- -# Ansible Edge GitOps with Veeam Kasten +# OpenShift Virtualization Data Protection with Veeam Kasten ## Background -Organizations are interested in accelerating their deployment speeds and improving delivery quality in their Edge environments, where many devices may not fully or even partially embrace the GitOps philosophy. Further, there are VMs and other devices that can and should be managed with Ansible. This pattern explores some of the possibilities of using an OpenShift-based Ansible Automated Platform deployment and managing edge devices, based on work done with a partner in the Chemical space. +This example extends the standard [Ansible Edge GitOps pattern](https://validatedpatterns.io/patterns/ansible-edge-gitops/) to include automated deployment and configuration of [Veeam Kasten](https://www.veeam.com/products/cloud/kubernetes-data-protection.html), the #1 Kubernetes data protection and mobility solution. -This pattern uses **OpenShift Virtualization** (the productization of KubeVirt) to provision VMs alongside Kubernetes-native workloads on the cluster. As VMs are inherently stateful workloads, a GitOps approach alone is not sufficient to recover an environment in the event of accidental data loss, malware attack, or infrastructure failure - especially in edge environments where infrastructure may be less resilient or subject to harsh environments. This example extends the standard [Ansible Edge GitOps pattern](https://validatedpatterns.io/patterns/ansible-edge-gitops/) to include automated deployment and configuration of [Veeam Kasten](https://www.veeam.com/products/cloud/kubernetes-data-protection.html), the #1 Kubernetes data protection and mobility solution. +The base pattern explores the possibilities of using an Ansible Automation Platform deployment to manage the configuration of OpenShift Virtualization VMs at the edge. As VMs are inherently stateful workloads, a GitOps approach alone is not sufficient to recover an environment in the event of accidental data loss, malware attack, or infrastructure failure - especially in edge environments where infrastructure may be less resilient or subject to harsh environments. ### Solution elements diff --git a/content/patterns/ansible-edge-gitops-kasten/getting-started.md b/content/patterns/ansible-edge-gitops-kasten/getting-started.md index 966012806..a0476a6e9 100644 --- a/content/patterns/ansible-edge-gitops-kasten/getting-started.md +++ b/content/patterns/ansible-edge-gitops-kasten/getting-started.md @@ -178,27 +178,36 @@ To install a collection that is not currently installed: ```sh git checkout -b my-branch - vi overrides/values-kasten-defaults.yaml + vi values-kasten.yaml ``` ```yaml --- kasten: - locationProfile: - name: default-location-profile - bucketName: your-bucket-name # Replace with the AWS S3 bucket name to store backup data - region: us-east-1 # Replace with the AWS S3 bucket region - immutable: false # Set true only if AWS S3 bucket was created with Versioning/Object Lock enabled; otherwise false - protectionPeriod: 120h0m0s # Adjust to specify amount of time for retained RestorePoints to remain immutable. Caution! + kdrSecretKey: secret/data/hub/kastendr-passphrase policyDefaults: + locationProfileName: my-location-profile presetName: daily-backup ignoreExceptions: false + + locationProfileDefaults: + secretKey: secret/data/hub/aws-creds + immutable: false + protectionPeriod: 120h0m0s # 5 Days + s3Region: us-east-1 + + locationProfiles: + location-profile-1: + name: my-location-profile + bucketName: your-bucket-name # REPLACE with the AWS S3 bucket name to store backup data + immutable: false # SET true only if AWS S3 bucket was created with Versioning/Object Lock enabled; otherwise false + protectionPeriod: 168h0m0s # 7 Days # OPTIONAL, override default immutablility period. Caution, you will not be able to delete backup data for this amount of time! ``` ```sh - git add overrides/values-kasten-defaults.yaml - git commit overrides/values-kasten-defaults.yaml + git add values-kasten.yaml + git commit values-kasten.yaml git push origin my-branch ``` From 205b74830a645b51b2ee3597daefe42b252e1906 Mon Sep 17 00:00:00 2001 From: Matt Bator Date: Tue, 12 Nov 2024 13:38:00 -0700 Subject: [PATCH 2/2] Update getting-started.md --- .../patterns/ansible-edge-gitops-kasten/getting-started.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/patterns/ansible-edge-gitops-kasten/getting-started.md b/content/patterns/ansible-edge-gitops-kasten/getting-started.md index a0476a6e9..b0dca23a6 100644 --- a/content/patterns/ansible-edge-gitops-kasten/getting-started.md +++ b/content/patterns/ansible-edge-gitops-kasten/getting-started.md @@ -4,7 +4,7 @@ weight: 10 aliases: /ansible-edge-gitops-kasten/getting-started/ --- -# Deploying the Ansible Edge GitOps Pattern +# Deploying the OpenShift Virtualization Data Protection Pattern # General Prerequisites @@ -28,7 +28,7 @@ In addition to the OpenShift cluster, you will need to prepare a number of secre in the pattern in various ways. To do this, copy the [values-secret.yaml template](https://github.com/kastenhq/ansible-edge-gitops-kasten/blob/main/values-secret.yaml.template) to your home directory as `values-secret.yaml` and replace the explanatory text as follows: * AWS Credentials (an access key and a secret key). These are used to provision the metal worker in AWS (which hosts -the VMs) and to access a pre-created S3 bucket for exporting VM backups with Veeam Kasten. +the VMs) and (by default) to access a pre-created S3 bucket for exporting VM backups with Veeam Kasten. ```yaml ---