diff --git a/v3.4.1/Chart.yaml b/v3.4.1/Chart.yaml new file mode 100644 index 0000000..60ccdcd --- /dev/null +++ b/v3.4.1/Chart.yaml @@ -0,0 +1,18 @@ +apiVersion: v2 +name: cloudcasa +version: "3.4.1" +appVersion: "3.4.1" +kubeVersion: ">=1.17.0-0" +description: CloudCasa backup service for Kubernetes and cloud native applications. Offering CloudCasa Pro and CloudCasa for Velero services. +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 diff --git a/v3.4.1/README.md b/v3.4.1/README.md new file mode 100644 index 0000000..3e98676 --- /dev/null +++ b/v3.4.1/README.md @@ -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 `````` 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= + ``` +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= + ``` + +**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.* diff --git a/v3.4.1/app-readme.md b/v3.4.1/app-readme.md new file mode 100644 index 0000000..1564264 --- /dev/null +++ b/v3.4.1/app-readme.md @@ -0,0 +1,6 @@ +# CloudCasa Kubernetes Agent + +### [CloudCasa](https://cloudcasa.io) - Leader in Kubernetes Data Protection and Application Resiliency + +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. diff --git a/v3.4.1/questions.yaml b/v3.4.1/questions.yaml new file mode 100644 index 0000000..d4443f9 --- /dev/null +++ b/v3.4.1/questions.yaml @@ -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" diff --git a/v3.4.1/templates/NOTES.txt b/v3.4.1/templates/NOTES.txt new file mode 100644 index 0000000..c6a308b --- /dev/null +++ b/v3.4.1/templates/NOTES.txt @@ -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. diff --git a/v3.4.1/templates/cluster-register.yaml b/v3.4.1/templates/cluster-register.yaml new file mode 100644 index 0000000..44bf193 --- /dev/null +++ b/v3.4.1/templates/cluster-register.yaml @@ -0,0 +1,107 @@ +# Manifest created on 2023-04-3 +# ----------------------------------------------------------------------- +# 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: + type: Recreate + replicas: 1 + template: + metadata: + labels: + app: cloudcasa-kubeagent-manager + spec: + containers: + - image: catalogicsoftware/amds-kagent:3.1.0-prod.230 + 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.230 + - 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 +--- diff --git a/v3.4.1/values.yaml b/v3.4.1/values.yaml new file mode 100644 index 0000000..90f712b --- /dev/null +++ b/v3.4.1/values.yaml @@ -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: ""