Skip to main content

Overview

The Covalidation Service enables a validator to participate as a covalidator by synchronizing DARs (Daml Archive files) from a primary validator and replicating them into its own participant.

Setup

Before installing the chart, ensure you have:

Prerequisites

  • Access to your GitHub organization
  • A primary validator willing to share DARs
  • A Kubernetes cluster
  • A Kubernetes namespace for the deployment
  • Helm 3.x
  • Kubernetes Secrets containing:
    • GitHub App private key
    • Participant OIDC client secret
Before deploying the service, a GitHub App must be created within your organization’s GitHub account. The primary validator installs this application into the repository containing the shared DARs, allowing the Covalidation Service to securely synchronize application packages. The deployment process consists of three stages:

Configure GitHub Access

Create a GitHub App

Important Creating a GitHub App requires GitHub Organization Owner permissions.
Note A single GitHub App can be reused for multiple Covalidation Service deployments within the same organization.

Create the application

Navigate to: Organization Settings → Developer Settings → GitHub Apps Select New GitHub App.

Configure the application

Use the following settings.

Repository Permissions

Configure the following permissions.

Installation Scope

Select: Any account Then create the application.

Record Required Information

After the application has been created, save the following values.

Generate Private Key

Generate a Private Key and store it as a Kubernetes Secret in the namespace where the chart will be installed. Example:

Primary Validator Setup

After creating the GitHub App:
  1. Send the Public Link to the primary validator.
  2. Ask them to install the application into the DAR repository.
  3. Request the Installation ID from the primary validator.
The Installation ID is required when configuring the Helm chart.

Install the Helm Chart

Deploy the service using Helm.

Configuration

A minimal configuration looks like the following.

Configuration Reference

GitHub


DAR Repository


Participant


Replication


Monitoring


Log


Kubernetes Secrets

The chart expects existing Kubernetes Secrets.

GitHub Private Key

Participant Client Secret


Deployment Flow

Uninstall

Remove the deployment with Helm.
This removes the Kubernetes resources created by the chart but does not delete Kubernetes Secrets or the GitHub App.