Standalone Driver

Deploy the standalone driver on a separate machine from the cluster.

The standalone driver makes 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 standalone driver. Choose your operating system below to see the installation instructions:

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

synnax-driver login

This will prompt you to enter the cluster’s connection parameters. Once you’ve entered the parameters, the driver will automatically connect to the cluster. 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 standalone 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. Environment variables (Highest)
  2. Configuration file
  3. Parameters passed to the synnax-driver login command
  4. Internal defaults (Lowest)

Configuration File

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

{
  // Connection parameters
  "connection": {
    // The host of the Synnax cluster.
    "host": "localhost",
    // The port of the Synnax cluster.
    "port": 9090,
    // The username to use when logging in to the Synnax cluster.
    "username": "synnax",
    // The password to use when logging in to the Synnax cluster.
    "password": "password",
    // The path to the CA certificate file to use when connecting
    // to the Synnax cluster. This is only required if the cluster
    // 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 cluster. This is only required when the cluster
    // 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 cluster. This is only required when the cluster is
    // configured to use TLS and client certificates for authentication.
    "client_key_file": "/path/to/client.key"
  }
}

Environment Variables

The standalone driver also supports setting connection parameters via environment variables.

# The host of the Synnax cluster.
export SYNNAX_DRIVER_HOST=localhost
# The port of the Synnax cluster.
export SYNNAX_DRIVER_PORT=9090
# The username to use when logging in to the Synnax cluster.
export SYNNAX_DRIVER_USERNAME=synnax
# The password to use when logging in to the Synnax cluster.
export SYNNAX_DRIVER_PASSWORD=password
# The path to the CA certificate file to use when connecting
# to the Synnax cluster. This is only required if
# the cluster 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 cluster. This is only required when
# the cluster 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 cluster. This is only required when the cluster
# is configured to use TLS and client certificates for authentication.
export SYNNAX_DRIVER_CLIENT_KEY_FILE=/path/to/client.key

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.

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 cluster.

Example Usage

synnax-driver login

This will prompt you to enter the cluster’s connection parameters. Once you’ve entered the parameters, the driver will automatically connect to the cluster. 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