Skip to main content

Argo CD Installation

This installation method enables Causely on Kubernetes clusters using Argo CD for GitOps-based deployment and management.

Prerequisites

  • Kubernetes cluster running
  • Argo CD installed and configured
  • Git repository for storing configuration (if you manage Applications via Git)
  • Linux kernel with eBPF support (5.4+ recommended)

1. Install Causely using Argo CD

1

Retrieve Your Access Token

  1. Visit https://portal.causely.app and log in.
  2. Click Mediators on the side navigation.
  3. Click the Add ➕ button and copy your access token to use in the next step.
2

Get the Argo CD manifests

Download the Argo CD manifests and copy them to your GitOps repository:

# Clone the causely-deploy repository to get the manifests
git clone https://github.com/causely-oss/causely-deploy.git
cd causely-deploy/kubernetes/argocd/components/applications/causely

# Copy the manifests to your GitOps repository
cp *.yaml /path/to/your/gitops-repo/causely/

Alternatively, you can copy the files directly from the causely-deploy repository into your GitOps repository.

The base causely.yaml Application deploys the public Causely Helm chart from us-docker.pkg.dev/public-causely/public into the causely namespace with automated sync, pruning, and self-heal enabled.

3

Configure your environment

Create the Kubernetes Secret for your token

For production and GitOps workflows, store your gateway token in a Kubernetes Secret instead of committing it to Git. See Using a Kubernetes Secret for the Access Token for details.

kubectl create namespace causely

kubectl create secret generic causely-token \
--from-literal=gateway-token=<your-actual-gateway-token-here> \
-n causely

Create an Argo CD AppProject

The Application references Argo CD project causely. Create an AppProject that allows the Helm chart source and the causely namespace (and kube-system if your chart installs cluster-scoped resources such as PriorityClasses):

apiVersion: argoproj.io/v1alpha1
kind: AppProject
metadata:
name: causely
namespace: argocd
spec:
description: Causely agent deployment
clusterResourceWhitelist:
- group: '*'
kind: ClusterRole
- group: '*'
kind: ClusterRoleBinding
- group: scheduling.k8s.io
kind: PriorityClass
destinations:
- namespace: causely
server: https://kubernetes.default.svc
- namespace: kube-system
server: https://kubernetes.default.svc
sourceRepos:
- us-docker.pkg.dev/public-causely/public
AppProject name

Ensure the AppProject metadata name matches spec.project in your Application (causely). If you use the bundled causely-project.yaml from causely-deploy, rename the project or update the Application so both resources use the same project name.

Configure the Application

Update causely.yaml for your cluster name, chart version, and token reference. The chart version should match the image tag you want to run:

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: causely
namespace: argocd
spec:
project: causely
destination:
namespace: causely
server: https://kubernetes.default.svc
source:
repoURL: us-docker.pkg.dev/public-causely/public
chart: causely
targetRevision: "v1.0.131-0-g941c148cc165f0fe"
helm:
releaseName: causely
parameters:
- name: image.tag
value: "v1.0.131-0-g941c148cc165f0fe"
- name: global.cluster_name
value: <my_cluster_name>
- name: mediator.secretName
value: causely-token
ignoreDifferences:
- group: apps
kind: Deployment
jqPathExpressions:
- .spec.template.spec.containers[].image
- group: apps
kind: DaemonSet
jqPathExpressions:
- .spec.template.spec.containers[].image
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
- RespectIgnoreDifferences=true

The ignoreDifferences entries tell Argo CD to ignore container image fields on Deployments and DaemonSets. That avoids endless OutOfSync states when image tags are updated outside the Application manifest (for example by the Causely Operator or a release pipeline).

You can find the latest chart version in the Causely Portal under Gear Icon → Integrations → Agents, or use the version shown above (${CAUSELY_VERSION}).

For additional Helm values (integrations, notifications, operator settings, and more), add a values.yaml next to the Application and reference it with helm.valueFiles, as in the production overlay example in causely-deploy.

4

Deploy via GitOps

Commit the manifests to the repository Argo CD watches, or apply them directly if you bootstrap Applications with kubectl:

# Navigate to your GitOps repository
cd /path/to/your/gitops-repo

# Add the Causely configuration files
git add causely/
git commit -m "Add Causely Argo CD configuration"
git push origin main

Monitor the deployment:

# Check Application sync status
kubectl get application causely -n argocd

# Check if Causely pods are running
kubectl get pods -n causely

In the Argo CD UI, open the causely Application and confirm it is Synced and Healthy.

5

Review Discovery

To verify the agent is successfully installed navigate to the Integrations Agents view. Once the agent has appeared you have successfully installed Causely!

Navigate to https://portal.causely.app to verify your environment has been discovered. You should see entities populated in the Topology view. As root causes are identified, they will appear in the Root Cause view.

Next Steps

Visit the Customize your Installation page to learn more about customizing your installation.

We recommend that you connect additional telemetry sources to help Causely identify root causes in your environment. Visit the Telemetry Sources page to learn more about the data sources that Causely supports.

To push insights into your workflows, visit the Workflow Integrations page.