Prerequisites

  • A running Kubernetes cluster.
  • Helm 3 or above. See Installing Helm.
  • A Postgres instance
  • A Redis instance
We provide Postgres and Redis helm charts for testing and evaluation. Please do not use them in production environments

Steps

Add Convoy’s chart repository to Helm:

helm repo add convoy https://frain-dev.github.io/helm-charts

Update the chart repository:

helm repo update

Install the chart:

helm install --values values.yaml convoy convoy/convoy -n convoy

Upgrade the chart:

helm upgrade --values values.yaml convoy convoy/convoy -n convoy

ArgoCD Configuration

Convoy uses helm hooks to trigger migrations every time the charts are installed or upgraded. These hooks alone won’t work for an ArgoCD installation since they are not compatible.

Helm hooks
"helm.sh/hook": post-install,post-upgrade
"helm.sh/hook-delete-policy": before-hook-creation

You can apply this ArgoCD definition to run migrations on your cluster when the chart is installed and upgraded

ArgoCD Definition
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: convoy
  namespace: argocd
  finalizers:
  - resources-finalizer.argocd.argoproj.io
spec:
  project: default
  source:
    repoURL: 'https://frain-dev.github.io/helm-charts'
    targetRevision: '2.3.0'
    chart: convoy
    helm:
      releaseName: convoy
      valuesObject:
        migrate:
          jobAnnotations:
            argocd.argoproj.io/hook: Sync
  destination:
    server: 'https://kubernetes.default.svc'
    namespace: convoy
  syncPolicy:
    syncOptions:
    - ServerSideApply=true
    - CreateNamespace=true
    automated:
      selfHeal: true
      prune: true

Login to your instance

Use the credentials below to sign into your freshly minted Convoy instance:

Email: [email protected] 
Password: default