A newer version of Hazelcast CLC is available.

View latest

Configuration for Hazelcast CLC

Hazelcast CLC allows you to configure settings for cluster connection credentials, using a configuration file. Some of those settings may be overriden using global command-line parameters.

CLC has a simple YAML configuration, usually named config.yaml. This file can exist anywhere in the file system, and can be used with the --config (or -c) flag:

clc -c test/config.yaml

configs directory in $CLC_HOME is special, it contains all the configurations known to CLC. You can use the clc home command in order to see where $CLC_HOME is:

clc home
/home/me/.local/share/clc

Known configurations can be directly specified by their names, instead of the full path. clc config list command lists the configurations known to CLC:

# List configurations
$ clc config list
default
pr-3066

# Start CLC shell with configuration named pr-3066
$ clc -c pr-3066

If no configuration is specified, the default configuration is used. The name of the default configuration may be overriden using the CLC_CONFIG environment variable.

If there’s only a single named configuration, then it is used if the configuration is not specified with -c/--config.

CLC Configuration with Command-Line Parameters

Command-line parameters are for overriding some configuration settings in the configuration file, such as the log settings.

You can override the values in the configuration file by providing the following command-line parameters to any clc command:

Parameter Description Default

--config, -c

Path to the configuration file in YAML format.

The following locations are tried in order for the existence of config.yaml

  1. Current working directory

  2. The parent directory of the clc executable

  3. $CLC_HOME/default directory

--format, -f

Set the output format

  • csv

  • delimited: By tab characters

  • json

  • table

  • Interactive mode: table

  • Non-interactive mode: delimited

--log.level

Set the log level, one of:

  • debug

  • info

  • warning

  • error

info

--log.path

Set the log path. Use stderr to log to the screen (stderr).

$CLC_HOME/logs/YYYY-MM-DD.log where YYYY-MM-DD is today’s date.

--quiet, -q

Prevent displaying unnecessary output.

false

--verbose

Enable output with more information.

false

--timeout

Timeout for operation to complete.

The duration is a string in the form of AMOUNTunit where AMOUNT is an integer, and unit is one of the following:

  • ms: milliseconds

  • s: seconds

  • m: minutes

  • h: hours

Underscore (_) character is ignored in the AMOUNT. unit is optional and defaults to s if not specified.

The following are a few of the valid DURATIONs:

  • 5: 5 seconds

  • 5s: 5 seconds

  • 10000ms: 10000 milliseconds

  • 10_000_000ms: 10000000 milliseconds

This is a client-side timeout, the operation you started maybe in progress on the server-side even if the given timeout is exceeded.