> ## Documentation Index
> Fetch the complete documentation index at: https://docs.digitalasset.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Primary Validator Onboarding

> Instructions for Onboarding the Primary Validator that makes use of the Covalidation Service.

# Onboarding (Primary Validator)

The onboarding process consists of the following high-level steps.

```mermaid theme={null}
flowchart TD
    A[Choose Third Node Operator]
    click A "primary-onboarding#1-choose-a-third-node-operator" " "
    B[Configure the DAR Repository]
    click B "primary-onboarding#2-configure-the-dar-repository" " "
    C[Configure your Validator Node]
    click C "primary-onboarding#3-configure-your-validator-node" " "
    D[Exchange Configuration Details]
    click D "primary-onboarding#4-exchange-configuration-details" " "
    E[Configure Party Topology]
    click E "primary-onboarding#5-configure-party-topology" " "
    F[Validate Transactions]
    click F "primary-onboarding#6-validate-transactions" " "
    G[Manage Ongoing Configuration]
    click G "primary-onboarding#7-manage-ongoing-configuration" " "

    A --> B
    B --> C
    C --> D
    D --> E
    E --> F
    F --> G

```

## 1. Choose a Third Node Operator

* Select a third-party node operator that will host parties on an additional covalidating node.

## 2. Configure the DAR Repository

* Create and configure access to a shared repository from which all participating covalidators synchronize DARs. Commit key DARs to this repository.

> **Important**
>
> Configuring a GitHub App requires GitHub Organization Owner permissions.

```mermaid theme={null}
flowchart LR

A[Create a GitHub Repo] --> B[Install GitHub Apps from URLs provided by Covalidators]
```

### Create a GitHub Repo

* Create a GitHub repo that will hold all your DARs
* Separate by directories aligned with environments (DevNet, TestNet, MainNet)

### Install GitHub Apps from URLs provided by Covalidators

* Paste in URL provided by each Covalidator
* Choose `Configure` from the GitHub UI (login as appropriate)
* Choose GitHub Organization to install to -- the organization where you have created your DAR repo.
* Grant Repository Access to your DAR repository
* Take note of the `Installation ID` from the URI and share this with the covalidator -- it is the last portion of the URL ([https://github.com/organizations/YOURORG/settings/installations/INSTALLATION\_ID](https://github.com/organizations/YOURORG/settings/installations/INSTALLATION_ID))
* Provide the details of your repo to your partner / DA

  * Installation ID
  * GitHub Org Name
  * GitHub Repo Name
  * Path to DARs (by environment)

## 3. Configure your Validator Node

* Create / configure the validator node which you will use as your primary node.

### Upload and Vet DARs

* Ensure all DARs are uploaded from your DAR Repository. Vet the DARs which should be active on this node.

## 4. Exchange Configuration Details

* Exchange DAR repository details and your participant ID details so that each co-validator can be configured correctly.
* Additionally, take note of the participant IDs of the covalidating nodes, as you will need these details when onboarding parties.

## 5. Configure Party Topology

* Once all validators are online and configured, create a topology transaction to multi-host a party -- covalidating nodes running the covalidation service will automatically approve the transaction if it matches the agreed-upon topology.

## 6. Validate Transactions

* When a multi-hosted party submits a transaction, confirmation nodes independently validate the transaction against the synchronized DARs before confirming it.

## 7. Manage Ongoing Configuration

* As applications evolve, new DARs and topology changes can be introduced through the established governance process.
