ReferenceDriverInstallation

Driver Installation

Install the Synnax Driver on a separate machine from the Synnax Core.

The Synnax Driver can also be installed as a separate binary, making it possible to integrate data acquisition hardware from multiple host machines into a single Synnax deployment.

To get started, you’ll need to install the Synnax Driver. Choose your operating system below to see the installation instructions:

To connect to a Core, you’ll need to know the Core’s IP address, port, username, and password. Then run the synnax-driver login command:

synnax-driver login

This will prompt you to enter the Core’s connection parameters. Once you’ve entered the parameters, the Driver will automatically connect to the Core. Here’s an example of the output:

synnax-driver login
host (default: localhost): 10.0.0.45
port (default: 9090): 9090
username: synnax
password:
I20250318 04:57:06.681439 25261 login.cpp:47] connecting to Synnax at 10.0.0.45:9090
I20250318 04:57:06.792840 25261 login.cpp:53] successfully logged in!
I20250318 04:57:06.793918 25261 login.cpp:59] credentials saved successfully

As a final step, you can check the Driver’s status by running the synnax-driver status command:

synnax-driver status

This will print the Driver’s status to the console. Here’s an example of the output:

I20250318 05:07:04.312907  5935 daemon_nilinuxrt.cpp:490] Checking service status
I20250318 05:07:04.346398  5937 version.cpp:21] Synnax Driver v0.39.0 (2025-03-16 00:08:18)
Synnax Driver is running (PID: 28191)

Configuration Methods

In addition to using the synnax-driver login command, the Synnax Driver also allows you to configure parameters for the Driver via a configuration file and/or environment variables.

Precedence

The precedence of the different configuration methods is as follows, with earlier methods taking precedence over later ones:

  1. Command line arguments (Highest)
  2. Environment variables
  3. Configuration file
  4. Parameters passed to the synnax-driver login command
  5. Internal defaults (Lowest)

Configuration File

The Synnax Driver can optionally read connection parameters from a JSON configuration file with the following format:

{
  // Connection parameters
  "connection": {
    // The host of the Synnax Core.
    "host": "localhost",
    // The port of the Synnax Core.
    "port": 9090,
    // The username to use when logging in to the Synnax Core.
    "username": "synnax",
    // The password to use when logging in to the Synnax Core.
    "password": "password",
    // The path to the CA certificate file to use when connecting
    // to the Synnax Core. This is only required if the Core
    // is configured to use TLS.
    "ca_cert_file": "/path/to/ca.crt",
    // The path to the client certificate file to use when connecting
    // to the Synnax Core. This is only required when the Core is
    // configured to use TLS and client certificates for authentication.
    "client_cert_file": "/path/to/client.crt",
    // The path to the client key file to use when connecting to the
    // Synnax Core. This is only required when the Core is configured
    // to use TLS and client certificates for authentication.
    "client_key_file": "/path/to/client.key"
  },
  "timing": {
    // Enable automatic skew correction for the Driver.
    "correct_skew": true
  }
}

Environment Variables

The Synnax Driver also supports setting connection parameters via environment variables.

# The host of the Synnax Core.
export SYNNAX_DRIVER_HOST=localhost
# The port of the Synnax Core.
export SYNNAX_DRIVER_PORT=9090
# The username to use when logging in to the Synnax Core.
export SYNNAX_DRIVER_USERNAME=synnax
# The password to use when logging in to the Synnax Core.
export SYNNAX_DRIVER_PASSWORD=password
# The path to the CA certificate file to use when
# connecting to the Synnax Core. This is only required
# if the Core is configured to use TLS.
export SYNNAX_DRIVER_CA_CERT_FILE=/path/to/ca.crt
# The path to the client certificate file to use when
# connecting to the Synnax Core. This is only required when
# the Core is configured to use TLS and client certificates
# for authentication.
export SYNNAX_DRIVER_CLIENT_CERT_FILE=/path/to/client.crt
# The path to the client key file to use when connecting to
# the Synnax Core. This is only required when the Core is
# configured to use TLS and client certificates for authentication.
export SYNNAX_DRIVER_CLIENT_KEY_FILE=/path/to/client.key
# Enable automatic clock skew correction for the Driver.
export SYNNAX_DRIVER_CORRECT_SKEW=true

CLI Reference

Start

The start command starts the Driver as a background process on the host machine.

Example Usage

synnax-driver start

To start the Driver as a foreground process, use the --standalone flag:

synnax-driver start --standalone

Flags

FlagDefaultDescription
--standalone/-sfalse
Run the Driver directly within the terminal process.
--config/-c"config.json"
The path to the configuration file to use for the Driver.
--debugfalse
Enable debug logging.
--host"localhost"
The host of the Synnax Core.
--port9090
The port of the Synnax Core.
--username"synnax"
The username to use when logging in to the Synnax Core.
--password"seldon"
The password to use when logging in to the Synnax Core.
--ca-cert-file""
The path to the CA certificate file to use when connecting to the Synnax Core.
--client-cert-file""
The path to the client certificate file to use when connecting to the Synnax Core.
--client-key-file""
The path to the client key file to use when connecting to the Synnax Core.
--correct-skewtrue
Enable automatic clock skew correction for the Driver.

Stop

The stop command stops the Driver.

Example Usage

synnax-driver stop

Restart

The restart command restarts the Driver. This is equivalent to stopping and then starting the Driver.

Example Usage

synnax-driver restart

Login

The login command logs in to a Synnax Core.

Example Usage

synnax-driver login

This will prompt you to enter the Core’s connection parameters. Once you’ve entered the parameters, the Driver will automatically connect to the Core. Here’s an example of the output:

synnax-driver login
host (default: localhost): 10.0.0.45
port (default: 9090): 9090
username: synnax
password:

Clear

The clear command clears connection parameters configured through the login command.

Example Usage

synnax-driver clear

Status

The status command prints the Driver’s status to the console.

Example Usage

synnax-driver status

Uninstall

The uninstall command uninstalls the Driver.

Example Usage

synnax-driver uninstall

Logs

The logs command prints the Driver’s logs to the console.

Example Usage

synnax-driver logs

Version

The version command prints the Driver’s version to the console.

Example Usage

synnax-driver version