Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions content/patterns/ansible-edge-gitops-kasten/_index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: OpenShift Virtualization Data Protection with Veeam Kasten
date: 2024-10-28
tier: sandbox
summary: This pattern uses OpenShift Virtualization to simulate an edge environment for VMs, protected by Veeam Kasten.
rh_products:
Expand All @@ -26,7 +25,7 @@ links:

## 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 **Red Hat 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.

Expand Down
31 changes: 20 additions & 11 deletions content/patterns/ansible-edge-gitops-kasten/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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
---
Expand Down Expand Up @@ -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
```

Expand Down