π’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 inauto.tfvars
files. Also, for more details, check out the officialhelm_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:
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.
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:
Update the Helm repository:
helm repo update
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:
Modify your
my-values.yaml
file with the desired changes.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:
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.
Go back to Table of Contents
Reach out to us Canso Community
Last updated
Was this helpful?