abq start

Starts a queue server for running distributed test suite runs.

abq start will open three ports on the machine for communicating with workers and for internal communication.

Usage

abq start [OPTIONS]

Examples

Start a queue:

abq start

Options

--admin-token <ADMIN_TOKEN>

The token to use for authorizing admin messages sent to the queue. When not provided, the queue will not enforce message authorization.

When supplied, --user-token must also be supplied.

If you need to generate a token, use abq token new.

Example: abq start --user-token abqs_OSRMcU9W6YJkLyVDkzhJ4HCkrWHzEq --admin-token abqs_5MrsLZCW5iOqtzbNiJr0kLf3WZQAnU

--bind <BIND_IP>

The host IP address to bind the queue to.

The default value is 0.0.0.0.

Example: abq start --bind 10.0.0.1

--negotiator-port <NEGOTIATOR_PORT>

The port to bind the queue's negotiation server to.

When possible, you should avoid configuring this, as it is used for ABQ-internal communication only. However, you may need to specify it if you are limited in the ports you can expose.

The default value is an arbitrary open port.

Example: abq start --negotiator-port 9002

--port <PORT>

The port to bind the queue server to.

The default value is an arbitrary open port.

Example: abq start --port 9000

--public-ip <PUBLIC_IP>

The host IP address to advertise the queue as running on.

The default value is the value supplied for --bind

Example: abq start --public-ip 168.10.11.12

--tls-cert <TLS_CERT>

The path to the TLS certificate to use when exchanging messages.

When --tls-cert is supplied, --tls-key must also be supplied.

Example: abq start --tls-cert ./cert.pem --tls-key ./cert.key

--tls-key <TLS_KEY>

The path to the TLS key the queue should use.

When --tls-key is supplied, --tls-cert must also be supplied.

Example: abq start --tls-cert ./cert.pem --tls-key ./cert.key

--user-token <USER_TOKEN>

The token to use for authorizing messages sent to the queue. When provided, the same token must be provided to the test and report commands. When not provided, the queue will not enforce message authorization.

When supplied, --admin-token must also be supplied.

If you need to generate a token, use abq token new.

Example: abq start --user-token abqs_OSRMcU9W6YJkLyVDkzhJ4HCkrWHzEq --admin-token abqs_5MrsLZCW5iOqtzbNiJr0kLf3WZQAnU

--work-port <WORK_PORT>

The port to bind the queue's worker server to.

When possible, you should avoid configuring this, as it is used for ABQ-internal communication only. However, you may need to specify it if you are limited in the ports you can expose.

The default value is an arbitrary open port.

Example: abq start --work-port 9001

--persisted-manifests-dir <PERSISTED_MANIFESTS_DIR>

The directory persisted manifests should be written to.

If unspecified, a temporary directory will be used.

This option may be specified via the environment variable ABQ_PERSISTED_MANIFESTS_DIR.

Please see the docs on persistence for guidance.

Example: ABQ_PERSISTED_MANIFESTS_DIR=/tmp/manifests abq start

--persisted-results-dir <PERSISTED_RESULTS_DIR>

The directory persisted results should be written to.

If unspecified, a temporary directory will be used.

This option may be specified via the environment variable ABQ_PERSISTED_RESULTS_DIR.

Please see the docs on persistence for guidance.

Example: ABQ_PERSISTED_RESULTS_DIR=/tmp/results abq start

--remote-persistence-strategy <REMOTE_PERSISTENCE_STRATEGY>

Configured how data should be persisted to a remote storage location.

The default is that no remote persistence is configured.

This option takes as value either "s3" or "custom". This option may be specified via the environment variable ABQ_REMOTE_PERSISTENCE_STRATEGY.

Please see the docs on remote persistence for guidance.

Example: ABQ_REMOTE_PERSISTENCE_STRATEGY=s3 abq start

--remote-persistence-s3-bucket <REMOTE_PERSISTENCE_S3_BUCKET>

The name of the S3 bucket to use for remote persistence.

Only relevant if --remote-persistence-strategy is set to s3.

This option may be specified via the environment variable ABQ_REMOTE_PERSISTENCE_S3_BUCKET.

Please see the docs on remote persistence to S3 for guidance.

Example: ABQ_REMOTE_PERSISTENCE_S3_BUCKET=abq-storage abq start

--remote-persistence-s3-key-prefix <REMOTE_PERSISTENCE_S3_KEY_PREFIX>

The prefix to use for keys in the S3 bucket used for remote persistence.

Only relevant if --remote-persistence-strategy is set to s3.

This option may be specified via the environment variable ABQ_REMOTE_PERSISTENCE_S3_KEY_PREFIX.

Please see the docs on remote persistence to S3 for guidance.

Example: ABQ_REMOTE_PERSISTENCE_S3_KEY_PREFIX=data/tests-storage abq start

--remote-persistence-command <REMOTE_PERSISTENCE_COMMAND>

The command that should be run to persist files to a remote location, if at all.

Only relevant if --remote-persistence-strategy is set to custom.

This option may be specified via the environment variable ABQ_REMOTE_PERSISTENCE_COMMAND.

Please see the docs on custom remote persistence for guidance.

Example: ABQ_REMOTE_PERSISTENCE_COMMAND="node,abq-persister.js" abq start

--offload-manifests-cron <OFFLOAD_MANIFESTS_CRON>

What cron schedule to offload manifests to the configured remote persistence location on, if any remote persistence is configured.

The schedule is a cron expression 6/7-stanza cron, given by the specification

Sec Min Hour DayOfMonth Month DayOfWeek Year?

All time will be interpreted as UTC.

This option may be specified via the environment variable ABQ_OFFLOAD_RESULTS_CRON.

Please see the docs on offloading for guidance.

Example: ABQ_OFFLOAD_MANIFESTS_CRON="0 0 5 * * *" abq start

--offload-results-cron <OFFLOAD_RESULTS_CRON>

What cron schedule to offload results to the configured remote persistence location on, if any remote persistence is configured.

The schedule is a cron expression 6/7-stanza cron, given by the specification

Sec Min Hour DayOfMonth Month DayOfWeek Year?

All time will be interpreted as UTC.

This option may be specified via the environment variable ABQ_OFFLOAD_RESULTS_CRON.

Please see the docs on offloading for guidance.

Example: ABQ_OFFLOAD_RESULTS_CRON="0 0 6 * * *" abq start

--offload-stale-file-threshold-hours <OFFLOAD_STALE_FILE_THRESHOLD_HOURS>

The threshold, in hours, since the last time a while was accessed before it is eligible for offloading to the configured remote persistence location, if any is configured.

This option is only relevant if --offload-manifests-cron or --offload-results-cron is set.

The default is 6 hours.

This option may be specified via the environment variable ABQ_OFFLOAD_STALE_FILE_THRESHOLD_HOURS.

Please see the docs on offloading for guidance.

Example: ABQ_OFFLOAD_STALE_FILE_THRESHOLD_HOURS=3 abq start

--help

Print detailed help information about the abq start command.

Example: abq start --help

-h

Print summarized help information about the abq start command.

Example: abq start -h