Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

The command line

xianyun does everything the MCP tools do, plus a few commands that only make sense in a terminal. If you drive Xianyun through an agent, this section is for the moments you step in yourself.

CommandWhat it doesOver MCP
up, down, destroy, statusCluster lifecycleYes (down and destroy are gated)
deploy, updateInstall deployers, update repositoriesYes
config validate, print, migrateWork with the configurationYes
ca trust, untrust, inspectDev CAYes (trust and untrust are gated)
update-etc-hosts, set-kube-contextHost and kubeconfig setupYes (update-etc-hosts is gated)
registry status, start, stopImage cacheYes
logs, doctor, versionInspectionYes
runEdit mode reloaders, until interruptedNo
kubectl, k9s, stern, toolRun another program against the clusterNo

The command reference has the full help text for every command, generated from the binary.

Options every command accepts

OptionMeaning
-c, --config-file <PATH>Use this config file instead of searching upward from the working directory
--log-formattext or json
--log-level, --debugdebug, info, warn, or error; --debug is shorthand for --log-level=debug
--log-colortrue or false
--log-outputstderr, or a file path
--log-sourceInclude the source location in log lines
--no-cacheMeant to disable remote config fragment caching. It’s currently a no-op because the cache isn’t wired in (GAP-005).

Logs go to standard error, so standard output stays clean for the command’s real result.

Environment variables

VariableEffect
XIANYUN_NO_CACHESame as --no-cache. CAPRONI_NO_CACHE is also read.
KUBECONFIGWhere set-kube-context writes by default, and what xianyun kubectl and friends override for the project’s cluster

Configuration values can also read environment variables; see Variables.

Files and directories

PathHolds
xianyun.yaml, xianyun.local.yaml, xianyun-project.yamlConfiguration (the caproni.* names also work)
~/.local/share/xianyun/<profile>/pki/The dev CA
~/.local/share/xianyun/registry/The managed registry cache’s config, data, and log
~/.kube/config.caproni.bakThe backup set-kube-context writes

<profile> defaults to xianyun. An existing ~/.local/share/caproni is read as a fallback.

Exit codes

0 means success and anything else is an error. Commands return errors as values and only the entry point turns them into a process exit code.