Skip to content

Deploy Keptn via ArgoCD

Keptn can be deployed on your Kubernetes cluster via ArgoCD.

Before you begin

To successfully deploy Keptn via ArgoCD, you need to have ArgoCD installed on your cluster. You can find the installation instructions in the ArgoCD documentation.

Creating Argo Application

After successfully installing ArgoCD, you need to create an Argo Application and define the repository containing Keptn helm charts:

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: keptn
  namespace: argocd
  finalizers:
    - resources-finalizer.argocd.argoproj.io # enabling cascading deletion
spec:
  project: default
  source:
    repoURL: 'https://charts.lifecycle.keptn.sh' # helm chart repository
    chart: keptn # helm chart name
    targetRevision: 0.5.1 # helm chart version - use latest available here
    helm:
      parameters:
        - name: "commitID"
          value: "$ARGOCD_APP_REVISION"
  destination:
    server: 'https://kubernetes.default.svc' # server where Keptn will be deployed
    namespace: keptn-system # namespace where Keptn will be deployed
  syncPolicy:
    automated:
      prune: true
      selfHeal: true
    syncOptions:
      - CreateNamespace=true

After applying the Application to your cluster, Argo will fetch the state of the linked repository and deploy the content via helm.

You can access the ArgoCD UI to see that Keptn is up and running.

keptn argo

Note Please be aware, that you need to enable cascading deletion of the application, which is disabled by default in ArgoCD. You can enable it by adding the deletion finalizers into your Argo Application, like it's done in the example above. More information about the deletion finalizers can be found here.

metadata:
  finalizers:
    - resources-finalizer.argocd.argoproj.io # enabling cascading deletion

Comments