arangosh Options

The startup options of the arangosh executable

Usage: arangosh [<options>]

General

--check-configuration

Type: boolean

Check the configuration and exit.

This is a command, no value needs to be specified. The process terminates after executing the command.


--config

Type: string

The configuration file or “none”.


--configuration

Type: string

The configuration file or “none”.


--default-language

Deprecated in: v3.10.0

Type: string

An ISO-639 language code. You can only set this option once, when initializing the database.

Show details

--default-language-check

Introduced in: v3.8.0

Type: boolean

Check if --icu-language / --default-language matches the stored language.

This option can be specified without a value to enable it.

Default: true


--define

Type: string…

Define a value for a @key@ entry in the configuration file using the syntax "key=value".


--dump-dependencies

Type: boolean

Dump the dependency graph of the feature phases (internal) and exit.

This is a command, no value needs to be specified. The process terminates after executing the command.


--dump-options

Type: boolean

Dump all available startup options in JSON format and exit.

This is a command, no value needs to be specified. The process terminates after executing the command.


--honor-nsswitch

Type: boolean

Allow hostname lookup configuration via /etc/nsswitch.conf if on Linux/glibc.

This option can be specified without a value to enable it.


--icu-language

Introduced in: v3.9.1

Type: string

An ICU locale ID to set a language and optionally additional properties that affect string comparisons and sorting. You can only set this option once, when initializing the database.

Show details

--jslint

Type: string…

Do not start as a shell, run jslint instead.


--log

Deprecated in: v3.5.0

Type: string…

Set the topic-specific log level, using --log level for the general topic or --log topic=level for the specified topic (can be specified multiple times). Available log levels: fatal, error, warning, info, debug, trace.

Default: info


--quiet

Type: boolean

Silent startup.

This option can be specified without a value to enable it.


--use-splice-syscall

Introduced in: v3.9.4

Type: boolean

Use the splice() syscall for file copying (may not be supported on all filesystems).

This option can be specified without a value to enable it.

Default: true

Available on Linux only.

Show details

--version

Type: boolean

Print the version and other related information, then exit.

This is a command, no value needs to be specified. The process terminates after executing the command.


--version-json

Introduced in: v3.9.0

Type: boolean

Print the version and other related information in JSON format, then exit.

This is a command, no value needs to be specified. The process terminates after executing the command.


console

--console.audit-file

Type: string

The audit log file to save commands and results to.


--console.auto-complete

Type: boolean

Enable auto-completion.

This option can be specified without a value to enable it.

Default: true


--console.colors

Type: boolean

Enable color support.

This option can be specified without a value to enable it.


--console.history

Introduced in: v3.4.5

Type: boolean

Whether to load and persist command-line history.

This option can be specified without a value to enable it.

Default: true


--console.pager

Type: boolean

Enable paging.

This option can be specified without a value to enable it.


--console.pager-command

Type: string

The pager command.

Default: less -X -R -F -L


--console.pretty-print

Type: boolean

Enable pretty-printing.

This option can be specified without a value to enable it.

Default: true


--console.prompt

Type: string

The prompt used in REPL (placeholders: %t = the current time as timestamp, %p = the duration of last command in seconds, %d = the name of the current database, %e = the current endpoint, %E = the current endpoint without the protocol, %u = the current user

Default: %E@%d>


encryption

--encryption.key-generator

Enterprise Edition

Type: string

A program providing the encryption key on stdout. If set, encryption at rest is enabled.

Show details

--encryption.keyfile

Enterprise Edition

Type: string

The path to the file that contains the encryption key. Must contain 32 bytes of data. If set, encryption at rest is enabled.

Show details

javascript

--javascript.allow-external-process-control

Introduced in: v3.5.0

Type: boolean

Allow the execution and control of external processes from within JavaScript actions.

This option can be specified without a value to enable it.


--javascript.allow-port-testing

Introduced in: v3.5.0

Type: boolean

Allow the testing of ports from within JavaScript actions.

This option can be specified without a value to enable it.


--javascript.check-syntax

Type: string…

Check the syntax of the JavaScript code from the specified file.


--javascript.client-module

Type: string

The client module to use at startup.

Default: client.js


--javascript.copy-directory

Type: string

The target directory to copy files from --javascript.startup-directory to (only used if --javascript.copy-installation is enabled).


--javascript.copy-installation

Type: boolean

Copy the contents of --javascript.startup-directory.

This option can be specified without a value to enable it.


--javascript.current-module-directory

Type: boolean

Add the current directory to the module path.

This option can be specified without a value to enable it.

Default: true


--javascript.endpoints-allowlist

Introduced in: v3.5.0

Type: string…

Endpoints that can be connected to via the @arangodb/request module in JavaScript actions.


--javascript.endpoints-denylist

Introduced in: v3.5.0

Type: string…

Endpoints that cannot be connected to via the @arangodb/request module in JavaScript actions (if not in the allowlist).


--javascript.environment-variables-allowlist

Introduced in: v3.5.0

Type: string…

Environment variables that are accessible in JavaScript.


--javascript.environment-variables-denylist

Introduced in: v3.5.0

Type: string…

Environment variables that are inaccessible in JavaScript (if not in the allowlist).


--javascript.execute

Type: string…

Execute the JavaScript code from the specified file.


--javascript.execute-string

Type: string…

Execute the JavaScript code from the specified string.


--javascript.files-allowlist

Introduced in: v3.5.0

Type: string…

Filesystem paths that are accessible from within JavaScript actions.


--javascript.gc-interval

Type: uint64

Request-based garbage collection interval (each n-th command).

Default: 50


--javascript.harden

Introduced in: v3.5.0

Type: boolean

Disable access to JavaScript functions in the internal module: getPid() and logLevel().

This option can be specified without a value to enable it.


--javascript.module-directory

Type: string…

Additional paths containing JavaScript modules.


--javascript.startup-directory

Type: string

The startup paths containing the JavaScript files.

Default: /usr/share/arangodb3/js


--javascript.startup-options-allowlist

Introduced in: v3.5.0

Type: string…

Startup options whose names match this regular expression are allowed and exposed to JavaScript.


--javascript.startup-options-denylist

Introduced in: v3.5.0

Type: string…

Startup options whose names match this regular expression are not exposed (if not in the allowlist) to JavaScript actions.


--javascript.unit-test-filter

Type: string

Filter the test cases in the test suite.


--javascript.unit-tests

Type: string…

Do not start as a shell, run unit tests instead.


--javascript.v8-max-heap

Type: uint64

The maximal heap size (in MiB).

Default: 3072


--javascript.v8-options

Type: string…

Options to pass to V8.

Show details

log

--log.color

Type: boolean

Use colors for TTY logging.

This option can be specified without a value to enable it.

Default: dynamic (e.g. true)


--log.escape-control-chars

Introduced in: v3.9.0

Type: boolean

Escape control characters in log messages.

This option can be specified without a value to enable it.

Default: true

Show details

--log.escape-unicode-chars

Introduced in: v3.9.0

Type: boolean

Escape Unicode characters in log messages.

This option can be specified without a value to enable it.

Show details

--log.file

Type: string

shortcut for ‘--log.output file://

Default: -


--log.file-group

Introduced in: v3.4.5

Type: string

group to use for new log file, user must be a member of this group


--log.file-mode

Introduced in: v3.4.5

Type: string

mode to use for new log file, umask will be applied as well


--log.force-direct

Type: boolean

Do not start a separate thread for logging.

This option can be specified without a value to enable it.

Show details

--log.foreground-tty

Type: boolean

Also log to TTY if backgrounded.

This option can be specified without a value to enable it.


--log.hostname

Introduced in: v3.8.0

Type: string

The hostname to use in log message. Leave empty for none, use “auto” to automatically determine a hostname.

Show details

--log.ids

Introduced in: v3.5.0

Type: boolean

Log unique message IDs.

This option can be specified without a value to enable it.

Default: true

Show details

--log.level

Type: string…

Set the topic-specific log level, using --log.level level for the general topic or --log.level topic=level for the specified topic (can be specified multiple times). Available log levels: fatal, error, warning, info, debug, trace. Available log topics: all, agency, agencycomm, agencystore, aql, audit-authentication, audit-authorization, audit-collection, audit-database, audit-document, audit-hotbackup, audit-service, audit-view, authentication, authorization, backup, bench, cache, cluster, communication, config, crash, development, dump, engines, flush, general, graphs, heartbeat, httpclient, ldap, license, maintenance, memory, mmap, pregel, queries, rep-state, replication, replication2, requests, restore, rocksdb, security, ssl, startup, statistics, supervision, syscall, threads, trx, ttl, v8, validation, views.

Default: info

Show details

--log.line-number

Type: boolean

Include the function name, file name, and line number of the source code that issues the log message. Format: [func@FileName.cpp:123]

This option can be specified without a value to enable it.


--log.max-entry-length

Introduced in: v3.7.9

Type: uint32

The maximum length of a log entry (in bytes).

Default: 134217728

Show details

--log.max-queued-entries

Introduced in: v3.10.12, v3.11.5

Type: uint32

Upper limit of log entries that are queued in a background thread.

Default: 10000

Show details

--log.output

Type: string…

Log destination(s), e.g. file:///path/to/file (any occurrence of $PID is replaced with the process ID).

Show details

--log.performance

Deprecated in: v3.5.0

Type: boolean

Shortcut for --log.level performance=trace.

This option can be specified without a value to enable it.


--log.prefix

Type: string

Prefix log message with this string.

Show details

--log.process

Introduced in: v3.8.0

Type: boolean

Show the process identifier (PID) in log messages.

This option can be specified without a value to enable it.

Default: true


--log.request-parameters

Type: boolean

include full URLs and HTTP request parameters in trace logs

This option can be specified without a value to enable it.

Default: true


--log.role

Type: boolean

Log the server role.

This option can be specified without a value to enable it.

Show details

--log.shorten-filenames

Type: boolean

shorten filenames in log output (use with --log.line-number)

This option can be specified without a value to enable it.

Default: true


--log.structured-param

Introduced in: v3.10.0

Type: string…

Toggle the usage of the log category parameter in structured log messages.

Show details

--log.thread

Type: boolean

Show the thread identifier in log messages.

This option can be specified without a value to enable it.


--log.thread-name

Type: boolean

Show thread name in log messages.

This option can be specified without a value to enable it.


--log.time-format

Introduced in: v3.5.0

Type: string

The time format to use in logs.

Default: utc-datestring

Possible values: “local-datestring”, “timestamp”, “timestamp-micros”, “timestamp-millis”, “uptime”, “uptime-micros”, “uptime-millis”, “utc-datestring”, “utc-datestring-micros”, “utc-datestring-millis”

Show details

--log.use-json-format

Introduced in: v3.8.0

Type: boolean

Use JSON as output format for logging.

This option can be specified without a value to enable it.

Show details

--log.use-local-time

Deprecated in: v3.5.0

Type: boolean

Use the local timezone instead of UTC.

This option can be specified without a value to enable it.

Show details

--log.use-microtime

Deprecated in: v3.5.0

Type: boolean

Use Unix timestamps in seconds with microsecond precision.

This option can be specified without a value to enable it.

Show details

random

--random.generator

Type: uint32

The random number generator to use (1 = MERSENNE, 2 = RANDOM, 3 = URANDOM, 4 = COMBINED (not available on Windows), 5 = WinCrypt (Windows only). The options 2, 3, 4, and 5 are deprecated and will be removed in a future version.

Default: 1

Possible values: 1, 2, 3, 4

Show details

server

--server.ask-jwt-secret

Type: boolean

If enabled, you are prompted for a JWT secret. This option is not compatible with --server.username and --server.password. If specified, it is used for all connections - even if a new connection to another server is created.

This option can be specified without a value to enable it.


--server.authentication

Type: boolean

Require authentication credentials when connecting (does not affect the server-side authentication settings).

This option can be specified without a value to enable it.

Default: true


--server.connection-timeout

Type: double

The connection timeout (in seconds).

Default: 5


--server.database

Type: string

The database name to use when connecting.

Default: _system


--server.endpoint

Type: string…

The endpoint to connect to. Use ’none’ to start without a server. Use http+ssl:// or vst+ssl:// as schema to connect to an SSL-secured server endpoint, otherwise http+tcp://, vst+tcp:// or unix://.

Default: tcp://127.0.0.1:8529

Show details

--server.force-json

Introduced in: v3.6.0

Type: boolean

Force to not use VelocyPack for easier debugging.

This option can be specified without a value to enable it.


--server.jwt-secret-keyfile

Type: string

If enabled, the JWT secret is loaded from the given file. This option is not compatible with --server.ask-jwt-secret, --server.username and --server.password. If specified, it is used for all connections - even if a new connection to another server is created.


--server.max-packet-size

Type: uint64

The maximum packet size (in bytes) for client/server communication.

Default: 1073741824


--server.password

Type: string

The password to use when connecting. If not specified and authentication is required, the user is prompted for a password


--server.request-timeout

Type: double

The request timeout (in seconds).

Default: 1200


--server.username

Type: string

The username to use when connecting.

Default: root


ssl

--ssl.protocol

Type: uint64

The SSL protocol (1 = SSLv2 (unsupported), 2 = SSLv2 or SSLv3 (negotiated), 3 = SSLv3, 4 = TLSv1, 5 = TLSv1.2, 6 = TLSv1.3, 9 = generic TLS (negotiated))

Default: 5

Possible values: 1, 2, 3, 4, 5, 6, 9


temp

--temp.path

Type: string

The path for temporary files.

Show details