Skip to content

Commit

Permalink
Create 3.6.0 test chart
Browse files Browse the repository at this point in the history
  • Loading branch information
bobadair committed Mar 11, 2024
1 parent 6b14058 commit 1a1fadf
Show file tree
Hide file tree
Showing 5 changed files with 187 additions and 0 deletions.
18 changes: 18 additions & 0 deletions charts/v3.6.0/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
apiVersion: v2
name: cloudcasa
version: "3.6.0"
appVersion: "3.6.0"
kubeVersion: ">=1.20.0-0"
description: CloudCasa Test v3.6.0
home: https://cloudcasa.io
icon: https://raw.githubusercontent.com/catalogicsoftware/cloudcasa-helmchart/gh-pages/logo.png
keywords:
- backup
- restore
- migration
- catalogic
- cloudcasa
- velero
maintainers:
- name: catalogicsoftware
email: support@cloudcasa.io
62 changes: 62 additions & 0 deletions charts/v3.6.0/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# CloudCasa Kubernetes Agent

[CloudCasa](https://cloudcasa.io) - Leader in Kubernetes Data Protection and Application Resiliency

# Introduction

CloudCasa is a SaaS data protection, recovery, and migration solution for Kubernetes. Configuration is quick and easy, and the basic service is free.

CloudCasa provides two types of backup services for Kubernetes:
* **CloudCasa for Velero** provides centralized management and monitoring, guided recovery, and commercial support for existing Velero backup installations.
* **CloudCasa Pro** provides centralized backup services for large, complex, multi-cluster, multi-cloud, and hybrid cloud environments. It includes multi-cloud account integration, managed backup storage, and advanced cross-cloud recovery.

Whether you are managing existing Velero installations or using the advanced Pro features, with CloudCasa you don’t need to be a storage or data protection expert to back up and restore your Kubernetes clusters.

This Helm chart installs and configures the CloudCasa agent on a Kubernetes cluster.
See the CloudCasa [Getting Started Guide](https://cloudcasa.io/get-started) for more information.

## Prerequisites

1. Kubernetes 1.17+
2. Helm 3.0+

## Installation

### Rancher Installation (Apps & Marketplace)

1. Log in to https://home.cloudcasa.io and add your Kubernetes cluster under the Protection tab. Note the returned cluster ID.
2. Go to Apps & Marketplace in the Rancher UI. In the Chart section, check the Partners checkbox and click on the CloudCasa chart.
3. Provide a Name (e.g. CloudCasa) and optional description.
4. In the CloudCasa Configuration section, provide the Cluster ID obtained above.
5. Click on the Install button to complete installation of the agent.
6. Click on Upgrade version to upgrade the existing helmchart.

**Note**: Validate the existence of four CRDS viz. volumesnapshotlocations.velero.io, volumesnapshotcontents.snapshot.storage.k8s.io, volumesnapshots.snapshot.storage.k8s.io and volumesnapshotclasses.snapshot.storage.k8s.io. If any one of the crds doesnt exist, execute the edit/upgrade operation.

### Helm CLI Installation

1. Log in to https://home.cloudcasa.io and add your Kubernetes cluster under the Protection tab. Note the returned cluster ID.
2. Execute the following helm commands, replacing ```<ClusterID>``` with the Cluster ID obtained above:
```
$ helm repo add cloudcasa-repo https://catalogicsoftware.github.io/cloudcasa-helmchart
$ helm install cloudcasa.io cloudcasa-repo/cloudcasa --set cluster_id=<Cluster ID>
```
This will install the CloudCasa agent and complete registration of the cluster with the CloudCasa service.

## Updating the CloudCasa Agent
1. Log in to https://home.cloudcasa.io and obtain the cluster ID for your cluster by selecting it under the Protection tab.
2. Execute the following commands to update the agent:
```
$ helm repo update
$ helm upgrade cloudcasa.io cloudcasa-repo/cloudcasa --set cluster_id=<Cluster ID>
```

**Note**: Validate the existence of four CRDS viz. volumesnapshotlocations.velero.io, volumesnapshotcontents.snapshot.storage.k8s.io, volumesnapshots.snapshot.storage.k8s.io and volumesnapshotclasses.snapshot.storage.k8s.io. If any one of the crds doesnt exist, again execute the upgrade command.

## Uninstalling the CloudCasa Agent
1. Execute the following commands to uninstall CloudCasa.
```
$ helm uninstall cloudcasa.io
$ kubectl delete namespace/cloudcasa-io clusterrolebinding/cloudcasa-io
```
*CloudCasa is a trademark of Catalogic Software Inc.*
5 changes: 5 additions & 0 deletions charts/v3.6.0/templates/NOTES.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
-----Please be patient while the chart is being deployed-----

Tip: Watch the App deployment status using the command: kubectl/oc get pods -n cloudcasa-io

Monitor the Cloudcasa UI, the registered cluster should be moved to Ready State. If the cluster is still in Pending state, wrong ClusterID would have been provided.
98 changes: 98 additions & 0 deletions charts/v3.6.0/templates/cluster-register.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
# Manifest created on 2023-04-3
apiVersion: v1
kind: List
# This list contains Cloudcasa Agent Manager and RBAC resources
# required to deploy the Cloudcasa Kube Agent
items:
{{- if not (lookup "v1" "Namespace" "cloudcasa-io" "cloudcasa-io") }}
- apiVersion: v1
kind: Namespace
metadata:
creationTimestamp: null
labels:
component: kubeagent-backup-helper
name: cloudcasa-io
spec: {}
{{- end }}
- apiVersion: v1
kind: ServiceAccount
metadata:
creationTimestamp: null
labels:
component: kubeagent-backup-helper
name: cloudcasa-io
namespace: cloudcasa-io
- apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
creationTimestamp: null
labels:
component: kubeagent-backup-helper
name: cloudcasa-io
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: cloudcasa-io
namespace: cloudcasa-io
- apiVersion: apps/v1
kind: Deployment
metadata:
name: cloudcasa-kubeagent-manager
namespace: cloudcasa-io
labels:
component: cloudcasa-kubeagent-manager
spec:
selector:
matchLabels:
app: cloudcasa-kubeagent-manager
strategy:
type: Recreate
replicas: 1
template:
metadata:
labels:
app: cloudcasa-kubeagent-manager
spec:
containers:
- image: catalogicsoftware/amds-kagent:3.1.0-prod
args: ["/usr/local/bin/kubeagentmanager", "--server_addr", "agent.cloudcasa.io:443", "--tls", "true"]
name: kubeagentmanager
resources:
requests:
memory: "64Mi"
cpu: "250m"
limits:
memory: "128Mi"
cpu: "500m"
volumeMounts:
- mountPath: /scratch
name: scratch
env:
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: AMDS_CLUSTER_ID
value: {{ .Values.cluster_id }}
- name: KUBEMOVER_IMAGE
value: catalogicsoftware/amds-kagent:3.1.0-prod
- name: DEPLOYMENT_PLATFORM
{{ if (lookup "v1" "Namespace" "" "cattle-system") }}
value: "rancher"
{{ else if (lookup "v1" "Namespace" "" "nirmata") }}
value: "nirmata"
{{ else if (lookup "v1" "Namespace" "" "rafay-system") }}
value: "rafay"
{{ else }}
value: "helm"
{{ end }}
restartPolicy: Always
terminationGracePeriodSeconds: 0
serviceAccountName: cloudcasa-io
volumes:
- emptyDir: {}
name: scratch
---
4 changes: 4 additions & 0 deletions charts/v3.6.0/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
## Please, note that this will override the parameters, including dependencies, configured to use the global value

## Cloudcasa AMDS Cluster ID. To be provided by the user.
cluster_id: ""

0 comments on commit 1a1fadf

Please sign in to comment.