QALITA Command Line Interface (CLI) is a tool intended to be used by Data Engineers.
2.3K
The QALITA CLI & Worker image, ready to use in any environment: run data-quality workers, execute analysis packs, and talk to your QALITA Platform. Also available on PyPI as qalita and on ghcr.io/qalita/cli.
Image renamed — this image lives at
qalita/cli. The legacyqalita/qalita-clirepository is frozen and no longer receives updates: update your pulls and deployment scripts.
latest — most recent release.x.y.z — pinned release. Use the tag matching your QALITA Platform version (see the compatibility matrix in the documentation).The container runs as the non-root user qalita (uid 10001), as required by least-privilege policies (runAsNonRoot). Everything the worker persists — registration file .worker, sources-conf.yaml, jobs/, logs — lives under /home/qalita/.qalita.
Mount your volume there, and give the host directory to uid 10001:
sudo chown -R 10001:10001 /srv/qalita
A host directory owned by
rootand bind-mounted into the container is readable but not writable by uid 10001. The symptom is a loop of[Errno 13] Permission deniedmessages and a worker that never registers. Thechownabove fixes it.
The entrypoint prepends qalita, so pass any CLI command directly:
docker run qalita/cli <your_qalita_cli_command>
The trailing worker run command makes the worker run in the foreground — its whole output lands in docker logs — while the supervision UI runs in the background:
docker run -d --name qalita-worker --restart unless-stopped \
-v /srv/qalita:/home/qalita/.qalita \
-e QALITA_WORKER_NAME=worker-1 \
-e QALITA_WORKER_MODE=worker \
-e QALITA_WORKER_ENDPOINT=https://backend.example.com:3080 \
-e QALITA_WORKER_TOKEN='<token>' \
-e QALITA_WORKER_UI=true \
-e QALITA_WORKER_UI_PORT=7070 \
-e QALITA_WORKER_UI_HOST=0.0.0.0 \
-p 7070:7070 \
qalita/cli worker run
Follow the startup with docker logs -f qalita-worker — expect Authenticated as <email> then Worker '<name>' registered with ID <n>.
Neither the REST stack nor gRPC read the OS trust store. On-premise platforms using an internal root CA must mount the PEM bundle (root + intermediates) in the volume and set both variables:
-e REQUESTS_CA_BUNDLE=/home/qalita/.qalita/certs/ca-bundle.pem \
-e GRPC_DEFAULT_SSL_ROOTS_FILE_PATH=/home/qalita/.qalita/certs/ca-bundle.pem \
| Variable | Required | Purpose |
|---|---|---|
QALITA_WORKER_NAME | yes | Worker name in the platform |
QALITA_WORKER_MODE | yes | worker (long-running) or job (one-shot) |
QALITA_WORKER_ENDPOINT | yes | Platform backend API URL |
QALITA_WORKER_TOKEN | yes | API token (Data Engineer role or higher) |
QALITA_GRPC_ENDPOINT | no | Explicit gRPC endpoint override (e.g. grpcs://host:3011) |
QALITA_HOME | no | State directory inside the container (default /home/qalita/.qalita), honored by CLI ≥ 2.18.2 |
REQUESTS_CA_BUNDLE, GRPC_DEFAULT_SSL_ROOTS_FILE_PATH | no | Internal CA bundle for private PKI (see above) |
Full guide — UI-only mode, chaining commands, logs location, troubleshooting: QALITA CLI documentation.
Content type
Image
Digest
sha256:0916e56f5…
Size
370.7 MB
Last updated
26 days ago
docker pull qalita/cli