Skip to main content

checkDK CLI – AI-powered Docker/Kubernetes issue detector and pod failure predictor

Project description

checkDK CLI

AI-powered CLI for Docker and Kubernetes — wraps docker and kubectl with pre-execution analysis, real-time monitoring, chaos testing, and pod failure prediction.

All analysis is delegated to the checkDK backend API at checkdk.app. The CLI itself has no ML or LLM dependencies — it is a thin HTTP/WebSocket client with a rich terminal UI.


Install

# Recommended — isolated install, checkdk on PATH globally
pipx install checkdk-cli

# Or with plain pip
pip install checkdk-cli

Requires Python 3.10 or later.

The checkdk command is available immediately after install. No configuration required — the CLI talks to https://checkdk.app/api by default.


Commands

Authentication

checkdk auth login       # open browser → paste JWT token → saved to ~/.checkdk/.env
checkdk auth logout      # remove stored token
checkdk auth whoami      # show current logged-in user

Docker

checkdk docker compose up -d              # analyse docker-compose.yml, then run
checkdk docker compose up --dry-run       # analyse only, do not execute
checkdk docker -f custom.yml compose up   # specify a compose file explicitly

Kubernetes

checkdk kubectl apply -f deploy.yaml      # analyse manifest, then apply
checkdk kubectl apply -f ./manifests/     # analyse an entire directory of YAMLs

Playground

checkdk playground -f docker-compose.yml  # full AI + rule-based analysis
checkdk playground -f k8s/deploy.yaml
checkdk playground -f docker-compose.yml --json   # raw JSON output

Predict

checkdk predict --cpu 93 --memory 91
checkdk predict --cpu 93 --memory 91 --no-ai            # ML only, skip LLM
checkdk predict --cpu 93 --memory 91 --restarts 3 \
                --probe-failures 2 --cpu-pressure 1 \
                --mem-pressure 1 --platform kubernetes
checkdk predict --cpu 85 --memory 70 --json             # CI/scripting output
Option Default Description
--cpu required CPU usage %
--memory required Memory usage %
--disk 50 Disk usage %
--latency 10 Network latency ms
--restarts 0 Container restart count
--probe-failures 0 Liveness/readiness probe failures
--cpu-pressure 0 Node CPU pressure (0 or 1)
--mem-pressure 0 Node memory pressure (0 or 1)
--age 60 Pod age in minutes
--service Service/pod name (label only)
--platform docker docker or kubernetes
--no-ai Skip LLM, return ML result only
--json Raw JSON output for scripting

Monitor (real-time)

Polls live container/pod metrics and sends each sample to the prediction API, displaying failure risk, confidence, and risk level in a Rich Live table. Requires the container/pod to be running.

checkdk monitor docker my-container
checkdk monitor docker my-container --duration 120 --interval 3
checkdk monitor docker my-container --no-ai          # ML prediction only, skip LLM
checkdk monitor k8s my-pod -n production
checkdk monitor k8s my-pod -n production --no-ai
Option Default Description
--duration 60 How long to monitor, in seconds
--interval 5 Seconds between each sample
--no-ai Skip LLM analysis, return ML risk score only
-n default Kubernetes namespace (k8s only)

Chaos

Injects CPU/memory/disk/network stress or kills pods. Requires stress-ng installed inside the container/pod image.

checkdk chaos docker my-container --experiment cpu --duration 60
checkdk chaos docker my-db --experiment memory --yes      # skip confirmation
checkdk chaos k8s my-pod -n production --experiment cpu
checkdk chaos k8s my-pod --experiment pod-kill --yes

Experiments: cpu, memory, disk, network, pod-kill (k8s only).


Environment variables

Variable Default Description
CHECKDK_API_URL https://checkdk.app/api Backend API base URL
CHECKDK_TOKEN JWT auth token (set by checkdk auth login)

The CLI auto-loads ~/.checkdk/.env and ./.env on startup.


Local development

# From repo root — start backend on :8000
cp .env.example .env
docker compose up --build

# Point CLI at local backend
export CHECKDK_API_URL=http://localhost:8000

# Install CLI from source
cd cli
pip install -e ".[dev]"
# Run tests
pytest

# Lint
ruff check .

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

checkdk_cli-0.3.5.tar.gz (19.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

checkdk_cli-0.3.5-py3-none-any.whl (25.7 kB view details)

Uploaded Python 3

File details

Details for the file checkdk_cli-0.3.5.tar.gz.

File metadata

  • Download URL: checkdk_cli-0.3.5.tar.gz
  • Upload date:
  • Size: 19.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for checkdk_cli-0.3.5.tar.gz
Algorithm Hash digest
SHA256 78ecc5f1ade4230d0929008301eefe507340af17797f57df5f58ddb2808d6ce6
MD5 731497999bc75a7d378db2f5e2eca019
BLAKE2b-256 d7c39ac461ca87c1f7a5a0f065ee0053949dc45cdf431a33a64d431aae5c57ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for checkdk_cli-0.3.5.tar.gz:

Publisher: publish.yml on radheshpai87/checkDK

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file checkdk_cli-0.3.5-py3-none-any.whl.

File metadata

  • Download URL: checkdk_cli-0.3.5-py3-none-any.whl
  • Upload date:
  • Size: 25.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for checkdk_cli-0.3.5-py3-none-any.whl
Algorithm Hash digest
SHA256 56b25dca5f5710603b8ddc08ae07c52fad22967abe2783b9784cf2155df9077b
MD5 1bac9cfb1430410655578cc70d4b6c4a
BLAKE2b-256 1541d55163c889768335cd7a13a6a43de2fa1875912163b91ab5781512c11564

See more details on using hashes here.

Provenance

The following attestation bundles were made for checkdk_cli-0.3.5-py3-none-any.whl:

Publisher: publish.yml on radheshpai87/checkDK

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page