Skip to content

Latest commit

 

History

History
159 lines (113 loc) · 4.01 KB

File metadata and controls

159 lines (113 loc) · 4.01 KB

Commands

Complete CLI reference for chabokan. Global flags apply before the subcommand:

--plain          Strip Rich styling
--rtl MODE       auto|shaped|visual|on|off|logical
--json           JSON-friendly emit
--gui / --no-gui Tk result dialogs (default on Windows when Tk available)
--env-file PATH  Override .env.chabokan location
--verbose        Extra diagnostic output

Command groups

Group Examples
menu (help) chabokan menu, chabokan menu ship, chabokan menu --no-gui
ship / deploy chabokan ship all, chabokan deploy web --wait
preflight / audit chabokan preflight all, chabokan predeploy-audit
service chabokan service logs api --tail 80, chabokan services list
credentials chabokan credentials fetch wp
ftp chabokan ftp test web, chabokan ftp sync api
doctor chabokan doctor all, chabokan doctor api --source both
file-logs chabokan file-logs api — FTP pull of logs/
cost / monitor chabokan cost, chabokan monitor
package chabokan package web --no-zip
stacks chabokan stacks --coverage
rtl-probe chabokan rtl-probe — terminal Persian display lab

Shop-only relay flags (when ship/relay.py present): --relay-api, --no-relay-auto.


ship — full deploy pipeline

chabokan ship all
chabokan ship api --preflight
chabokan ship web --force-restart
chabokan ship api --no-health-wait
Flag Default Effect
--clean off Remove local stage before package
--force off Force upload paths
--force-restart off Restart even when FTP content unchanged
--no-purge-orphans purge on Skip orphan deletion on remote
--no-wait wait on Skip Hub log tail after restart
--no-health-wait health on Skip HTTP probe wait
--health-timeout 600 Seconds for health wait
--preflight off Abort ship if preflight fails

Split deploy order (API + web)

Production order when services are separate Chabokan containers:

chabokan ship api   →  GET /api/ready = 200  →  chabokan ship web

Or one batch:

chabokan ship all

When API and web ship together, web_ship_blocked_by_api() may skip web:

Skip reason Meaning
api_deploy_failed API FTP/restart step failed
api_health_not_ready API restarted but /api/ready did not pass in time

The recap lists skipped web with the reason — check API logs and chabokan doctor api.


doctor — logs + HTTP health

chabokan doctor api
chabokan doctor all --source both
chabokan doctor api --source files
--source Behavior
auto Hub logs + HTTP (default)
hub Hub API log stream only
files FTP persistent logs/
both Hub + file logs

Use doctor for post-deploy smoke — there is no standalone chabokan health command.


preflight — pre-ship checks

chabokan preflight all
chabokan preflight api

Validates API token, FTP login, remote log reachability, and HTTP probes before deploy.


file-logs — persistent FTP logs

chabokan file-logs api
chabokan file-logs api --remote-dir logs

Hub service logs resets on container restart; FTP logs/ survives restarts.


monitor / cost

chabokan monitor
chabokan cost

Wallet runway, service cost summary, and live health table.


package — stage without deploy

chabokan package api --no-zip

Build local stage tree only (debug packaging rules).


credentials fetch

chabokan credentials fetch myapp-api
chabokan credentials fetch myapp-api --show-secrets

Secrets are redacted unless --show-secrets is explicit.


See also