Skip to main content

darsyncer

darsyncer synchronizes one or more DAR files to a participant ledger. It can upload missing DARs, verify that required packages are present, or wait until synchronization has completed.

Docker Image

Features

  • Upload one or more DAR files to a participant
  • Synchronize an entire directory of DARs
  • Verify that required DARs are already available
  • Wait until a participant has received all required DARs
  • OAuth authentication support
  • Configurable transport security
  • Health probe endpoint for Kubernetes deployments

Pulling the Image

Available Versions

Released versions of darsyncer are browsable through the Google Artifact Registry UI (accessible to all, but does require you to log in to Google). If you do not specify a tag, Docker defaults to pulling :latest. This documentation uses :latest as an example; if you need a pinned version, use an immutable image digest (for example, europe-docker.pkg.dev/da-images/public/docker/darsyncer@sha256:<digest>) rather than a floating tag. Generally speaking, darsyncer versions are compatible across participant/Splice versions, and it is advantageous to stay current to benefit from security vulnerability fixes and other patches.

Quick Start

Assuming your DAR files are located in ./dars:

Usage

Required Options

Command-Line Options

General

Authentication

These options may also be provided using environment variables.

Modes

Examples

Upload all DARs from a directory

Upload a single DAR

Verify required DARs

Wait until synchronization completes

Using Environment Variables

Authentication parameters can be supplied through environment variables.

Health Probe

By default, the health probe server listens on:
To change the address:
This endpoint is intended for Kubernetes liveness and readiness probes.

Logging

Configure the log level:
Default:

Transport Security

Volume Mounts

Mount a directory containing DAR files into the container. Example:

Environment Variables

Troubleshooting

No DARs Found

Verify that:
  • the mounted directory contains .dar files;
  • the path supplied to --dars is correct; and
  • the directory is mounted into the container.

Authentication Failures

Confirm that:
  • the OAuth credentials are valid;
  • the configured audience and scope are correct; and
  • the participant accepts the supplied credentials.

Unable to Connect

Verify:
  • the participant endpoint is reachable;
  • the selected transport security mode matches the participant configuration; and
  • network policies or firewalls allow the connection.

Display Help

Contribution

darsyncer is an open sourced component available at https://github.com/digital-asset/darsyncer - contributions and enhancements are welcome.