🚒Install Canso Helm Charts

This guide illustrates how to deploy the Canso Superchart. This is a Helm chart, which deploys Canso services and the Canso Agent as ArgoCD applications. Currently, ArgoCD must be installed in the cluster for our helm chart to work. You can install ArgoCD using kubectl commands or even via Terraform.

Option 1 - ArgoCD

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

[!IMPORTANT] We recommend checking out the latest stable documentation in ArgoCD in case the commands above change.

Option 2 - Terraform

# main.tf

resource "kubernetes_namespace" "argocd" {
  metadata {
    name = var.namespace
  }
}

resource "helm_release" "argocd" {
  name       = "argocd"
  repository = "https://argoproj.github.io/argo-helm"
  chart      = "argo-cd"
  version    = var.argo_version"  
  namespace  = var.namespace
  timeout    = "900"
  values     = [file(var.argo_values_file)]
  depends_on = [kubernetes_namespace.argocd]
}

[!IMPORTANT] We recommend defining the variables in a variables.tf file and setting the values in auto.tfvars files. Also, for more details, check out the official helm_release resource in the official Terraform Documentation.

Installing the Canso Superchart Helm

Helm charts including the superchart are available in this open source repository and the charts are hosted on gh-pages.

Prerequisites

Before updating the chart, ensure that you have added the argocd cluster context locally. Follow these steps:

  1. Add the cluster to ArgoCD using the AWS ARN:

argocd cluster add arn:aws:eks:<region>:<account-id>:cluster/<cluster-aname>

Replace the ARN with your specific cluster ARN.

  1. When prompted with the following message, type 'y' and press Enter:

This will create a service account `argocd-manager` on the cluster referenced by context `arn:aws:eks:<region>:<account-id>:<cluster-aname>` with full cluster level privileges. Do you want to continue [y/N]?

Note: This step is crucial as the chart depends on the argocd-manager serviceaccount being present in the cluster.

Here are the steps to install the superchart -

Add Helm Repo

helm repo add canso-helm-charts https://yugen-ai.github.io/canso-helm-charts/

(Optional) Check all charts available in the repo

helm search repo canso-helm-chart

Install the chart

helm install  -f my-values.yaml canso-superchart canso-helm-charts/canso-aws-eks-superchart  --wait

Values for the Superchart

Most of the values for the Superchart are automatically populated when you log into the Canso Web App and navigate the Install agent process. All you have to do is fill in certain inputs related to your Cluster and the Role ARN names that you used at the time of provisioning IRSA roles.

[!CAUTION] Some of the values in the Superchart are references to resources in the Canso Control Plane for e.g. Canso API Server, Message Queues, Image Pull . We do not have a completely automated process to share these values at the time of our MVP release and therefore we request you to reach our to the Canso team for the same. We will have a more seamless process in future releases.


Updating the chart

Scenario 1: Upgrading to a Newer Chart Version

If you want to install a newer version of the chart, follow these steps:

  1. Update the Helm repository:

helm repo update
  1. Upgrade the chart, specifying the new version:

helm upgrade canso-superchart canso-helm-charts/canso-aws-eks-superchart --version <new_version> -f my-values.yaml

Replace <new_version> with the desired chart version.

Scenario 2: Updating Configuration (Same Chart Version)

If you only need to update your configuration without changing the chart version:

  1. Modify your my-values.yaml file with the desired changes.

  2. Apply the updates using:

helm upgrade canso-superchart canso-helm-charts/canso-aws-eks-superchart -f my-values.yaml

This command will use the same chart version but apply your updated configuration.

Troubleshooting: Manually Installing Hooks

If you encounter an error during the initial installation and the hooks fail to install, follow these steps to manually install the hooks:

  1. Retrieve the hook manifests:

helm get hooks canso-superchart > hooks.yaml

This command will save the hook manifests to a file named hooks.yaml. 2. Apply the hooks manually using kubectl:

kubectl apply -f hooks.yaml

Note: Manually installing hooks should be done cautiously and only when necessary. If you're unsure, consult with your system administrator or the chart maintainer.

Last updated

Was this helpful?