Skip to content

Commit

Permalink
Adding CloudCasa v3.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
nitishdsharma committed Feb 15, 2022
1 parent ca2d21f commit 2d72255
Show file tree
Hide file tree
Showing 7 changed files with 209 additions and 0 deletions.
18 changes: 18 additions & 0 deletions v3.0.0/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
apiVersion: v2
name: cloudcasa
version: "3.0.0"
appVersion: "3.0.0"
kubeVersion: ">=1.17.0-0"
description: CloudCasa backup service for Kubernetes and cloud native applications
home: https://cloudcasa.io
icon: https://raw.githubusercontent.com/catalogicsoftware/cloudcasa-helmchart/gh-pages/logo.png
keywords:
- Backup
- Catalogic
- CloudCasa
- Restore
- Copy
- Scan
maintainers:
- name: catalogicsoftware
email: [email protected]
58 changes: 58 additions & 0 deletions v3.0.0/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# CloudCasa Kubernetes Agent

[CloudCasa](https://cloudcasa.io) - A Smart Home in the Cloud for Kubernetes Backups

# Introduction

CloudCasa is a SaaS solution that provides class-leading data protection services for Kubernetes and cloud native applications.
Configuration is quick and easy, and basic service is free.

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
$ kubectl delete crds -l component=kubeagent-backup-helper
```
*CloudCasa is a trademark of Catalogic Software Inc.*
6 changes: 6 additions & 0 deletions v3.0.0/app-readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# CloudCasa Kubernetes Agent

### [CloudCasa](https://cloudcasa.io) - A Smart Home in the Cloud for Kubernetes Backups

CloudCasa is a SaaS solution that provides class-leading data protection services for Kubernetes and cloud native applications.
Configuration is quick and easy, and basic service is free. See the CloudCasa [Getting Started Guide](https://cloudcasa.io/get-started) for more information.
13 changes: 13 additions & 0 deletions v3.0.0/questions.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
namespace: cloudcasa-io
labels:
io.rancher.certified: partner
categories:
- Application
questions:
- variable: cluster_id
default: ""
description: "CloudCasa Cluster ID"
type: string
required: true
label: CLUSTER ID
group: "CloudCasa Configuration"
5 changes: 5 additions & 0 deletions v3.0.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.
105 changes: 105 additions & 0 deletions v3.0.0/templates/cluster-register.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
# Manifest created on 2021-02-15
# -----------------------------------------------------------------------
# Steps to delete CloudCasa from the cluster are:
# -----------------------------------------------------------------------
# kubectl delete namespace/cloudcasa-io clusterrolebinding/cloudcasa-io
# kubectl delete crds -l component=kubeagent_backup_helper
# -----------------------------------------------------------------------

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:
annotations:
"helm.sh/resource-policy": keep
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: {}
replicas: 1
template:
metadata:
labels:
app: cloudcasa-kubeagent-manager
spec:
containers:
- image: catalogicsoftware/amds-kagent:3.0.0-prod.133
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.0.0-prod.133
- 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
serviceAccountName: cloudcasa-io
volumes:
- emptyDir: {}
name: scratch
---
4 changes: 4 additions & 0 deletions v3.0.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 2d72255

Please sign in to comment.