Skip to main content

Command Details

qalita --ui​

Starts the local web UI for the CLI.

Configuration can be provided via flags or environment variables. See Environment Variables.

Parameters:

  • --host (or QALITA_WORKER_UI_HOST): Host interface to listen on (default: localhost)
  • --port (or QALITA_WORKER_UI_PORT): Port to listen on (default: 7070)

Environment:

  • QALITA_WORKER_UI=true enables the local UI
  • QALITA_WORKER_UI_HOST=localhost
  • QALITA_WORKER_UI_PORT=7070

Example:

qalita --ui --host localhost --port 7070

qalita worker​

Allows you to:

  • Register a worker on the platform
  • Get information about your local worker
  • Run a pack on a source
  • List jobs (past and upcoming)

qalita worker login​

Parameters:

  • name: Worker name
  • mode: Worker mode (job/worker)
  • token: API token provided by the platform
  • url: Backend API URL of the platform

qalita worker login registers your local worker on the platform. This allows you to run jobs or schedule executions. You must have configured your agent with:

  • QALITA_WORKER_ENDPOINT=backend_api_url
  • QALITA_WORKER_TOKEN=api_token

You can obtain your token from the web interface or via an OAUTH2 call to the /users/signin endpoint.

qalita worker run​

Parameters: The options below are defined at the agent group level and/or the run command level:

Worker group (applicable to all subcommands):

  • -n, --name (or QALITA_WORKER_NAME)
  • -m, --mode (or QALITA_WORKER_MODE) — values: job | worker
  • -t, --token (or QALITA_WORKER_TOKEN)
  • -u, --url (or QALITA_WORKER_ENDPOINT)

Worker run command:

  • -s, --source-id (or QALITA_WORKER_JOB_SOURCE): Source ID
  • -sv, --source-version (or QALITA_WORKER_JOB_SOURCE_VERSION): Source version (default: latest)
  • -t, --target-id: Target source ID (optional)
  • -tv, --target-version: Target source version (optional)
  • -p, --pack-id (or QALITA_WORKER_JOB_PACK): Pack ID
  • -pv, --pack-version (or QALITA_WORKER_JOB_PACK_VERSION): Pack version (default: latest)
  • --grpc/--no-grpc (or QALITA_WORKER_GRPC): Use gRPC for real-time job dispatch in worker mode (default: enabled). --no-grpc falls back to REST polling.
  • --grpc-endpoint (or QALITA_GRPC_ENDPOINT): Explicit gRPC endpoint override, see gRPC endpoint resolution.
qalita worker run

Works in two modes:

Job​

The worker runs according to the given configuration:

  • -p: pack_id (see qalita pack list). Your pack must be published to have an ID.
  • -s: source_id (see qalita source list). Your source must be published to have an ID.

Worker​

The worker waits for an order from the platform, then acts as in job mode.

info

Note: This mode runs indefinitely, you can adjust the pooling interval by editing the ENV variable : WORKER_POLLING_INTERVAL

gRPC endpoint resolution​

In worker mode, the worker opens a gRPC channel to the backend for real-time job dispatch (if the gRPC connection fails, it automatically falls back to REST polling). By default, the gRPC target is auto-derived from QALITA_WORKER_ENDPOINT:

QALITA_WORKER_ENDPOINTDerived gRPC target
http://localhost:3080localhost:50051 (insecure)
http://qalita-backend-service:3080 (hostname without a dot)qalita-backend-service:50051 (insecure)
https://api.example.comgrpc.example.com:443 (TLS)
Any other https://host.example.comgrpc.host.example.com:443 (TLS)

When this derivation does not match your deployment, set the target explicitly with --grpc-endpoint or QALITA_GRPC_ENDPOINT. The hostname is then used as-is (no grpc. prefix injection). Typical cases:

  • Kubernetes intra-cluster: the backend's gRPC port (50051) is exposed on the same Service as the REST API, with no dedicated gRPC ingress.
  • Custom gRPC ingress hostname: your public gRPC endpoint does not follow the grpc.<domain> naming convention.

Accepted formats:

ValueChannelDefault port
host:50051 (no scheme)insecurenone — always specify the port
grpc://host:port or http://host:portinsecure50051
grpcs://host:port or https://host:portTLS443
# Kubernetes intra-cluster (gRPC port on the same Service as the REST API)
qalita worker run --grpc-endpoint qalita-backend-service:50051
# or with the full service DNS name:
qalita worker run --grpc-endpoint backend.qalita.svc.cluster.local:50051

# Public gRPC ingress behind TLS with a custom hostname
qalita worker run --grpc-endpoint grpcs://my-grpc.example.com:443
warning

A value without a scheme opens an insecure channel. If your gRPC endpoint is behind TLS, use the grpcs:// scheme.

--grpc-endpoint only affects the real-time gRPC channel: QALITA_WORKER_ENDPOINT is still required for all REST API calls (login, source/pack push, job results upload...).

qalita worker joblist​

Lists the worker's jobs on the platform.

qalita worker joblist

qalita worker info​

Displays information about the local worker (name, mode, backend URL, registered agent ID).

qalita worker info

qalita pack​

The qalita pack command allows you to:

  • Initialize a new pack
  • List available packs
  • Validate a pack
  • Run a pack locally
  • Publish a pack version on the platform

qalita pack init​

Parameters:

  • --name: Pack name

Initializes a new pack. You must define a name; a folder will be created with this name. You can set the name via a command-line parameter or via the environment variable QALITA_PACK_NAME=my-super-pack.

Directory structure created:

./`pack-name`_pack/
/run.sh # Entrypoint file that will be run with qalita worker run
/README.md # Documentation file
/properties.yaml # Properties file that contains properties about the pack
/main.py # (pack specific) The main script (you can run your pack with whatever language you choose)
/config.json # (pack specific) The config file of your pack, you can use it to set any configurations you like
/requirements.txt # (pack specific) The requirements file that is run inside the run.sh

qalita pack list​

Parameters:

  • You must be logged in via qalita worker login

Lists all packs available on the QALITA platform.

qalita pack run​

Parameters:

  • --name: Pack name

Runs your locally configured pack.

qalita pack validate​

Parameters:

  • --name: Pack name

Validates your locally configured pack.

qalita pack push​

Parameters:

  • --name: Pack name

Publishes your locally configured pack.

qalita source​

The qalita source command allows you to:

  • Add a new source to your local configuration
  • List your local sources from the sources-conf.yml file
  • Publish your local sources from the sources-conf.yml file
  • Validate your configuration file sources-conf.yml
Note: By default, the sources-conf.yml file is stored in ~/.qalita/sources-conf.yml. Set the QALITA_HOME variable to customize the path.

qalita source add​

This command guides you to add a new source in sources-conf.yaml. It takes no parameters; follow the successive prompts:

  • Prompt 1: Source name
  • Prompt 2: Source type
  • Prompt 3: Depends on the source type
    • Case: type = file: source path
    • Case: type = database: host / port / username / password / database
  • Prompt 4: Description
  • Prompt 5: Is the source a reference? [bool] (default: false)
  • Prompt 6: Is the source sensitive? [bool] (default: false)
  • Prompt 7: Visibility (private, internal, public) (default: private)

At the end, the CLI checks the accessibility of the source based on the configuration and type (validate_source). To complete the source registration on the platform, publish it with: qalita source push

asciicast

qalita source validate​

Utility command to validate your sources-conf.yaml file.

qalita source list​

Parameters: You must have a sources-conf.yaml file containing the source configuration.

Example:

version: 1
sources:
- config:
path: /home/user/data_dir
description: Folder containing csv files
name: my_csv_files
owner: user
reference: false
visibility: private
sensitive: false
type: file

In this example: General keys

KeyTypeDescription
versionintConfiguration file version
sourceslistList of sources

Source keys

KeyTypeDescription
namestringSource name
descriptionstringSource description
ownerstringSource owner
typestringSource type
configdictSource configuration
visibilitystringVisibility private/internal/public
referenceboolIs the source a reference source?
sensitiveboolDoes the source contain sensitive data?

qalita source push​

Publishes your sources to the platform.

warning

If you want to run a pack on your source, you will first need to push your source to the platform. It will give you a source id with which you can run your pack on.

Parameters:

  • --skip-validate: Does not validate sources locally before publishing. Equivalent to the ENV QALITA_SKIP_VALIDATE=true.
    • Warning: This may push unreachable/invalid sources.
    • Note: This flag is sometimes called "skip-verify" in some contexts. The exact name in the CLI is --skip-validate.

Behavior:

  • Loads the local configuration (~/.qalita/sources-conf.yml by default) and, unless --skip-validate is used, performs local validation.
  • Queries the platform and:
    • Updates an existing source if it is already published (visibility, description, sensitive, reference) and synchronizes the local id if needed.
    • Publishes a new source otherwise; asks for confirmation if visibility is public.
  • On success, writes the returned id to the local configuration file.

Examples: Simple publish:

qalita source push

Force publish without local validation:

qalita source push --skip-validate

Use environment variable (equivalent to --skip-validate):

QALITA_SKIP_VALIDATE=1 qalita source push