CHCTL Command Reference
chctl is the CloudHedge OmniDeq CLI for application discovery, containerization, and migration to Kubernetes.
Prerequisites
- All commands (except appliance setup and offline discovery with a pre-cached tool) require a valid login. Run chctl login first.
- Configuration (server URL + JWT token) is stored at ~/.cloudhedge/config.json.
- Check the version any time with chctl --version.
Ordered by the typical user journey: Login → Vault → Discover → Transform → Cruize (Deploy) → EKS, followed by the Smoke Test, Appliance Management, and Utilities.
1. Login
| Command |
Description |
Key Options |
chctl login |
Authenticate to the appliance and save the session token. |
--username, -u, --password, -p (omit to be prompted securely), --server, -s |
Example
chctl login --server https://<appliance-host> --username <user> --password <pass>
2. Vault (Credential Management)
Vaults store the credentials used by discovery, build, registry, and cloud operations.
Create a vault
| Command |
Description |
Key Options |
chctl vault create password |
Username/password vault (e.g. SSH/WinRM host login). |
--vaultname, --username, --password |
chctl vault create ssh |
SSH private-key vault. |
--vaultname, --sshkey (key file path) |
chctl vault create aws |
AWS access/secret key vault. |
--vaultname, --accesskey, --secretkey |
chctl vault create azure |
Azure service-principal vault. |
--vaultname, --subscriptionid, --tenantid, --clientid, --clientsecret, --clienturl |
chctl vault create gke |
Google GKE vault. |
--vaultname, --gkeProjectName, --gkeConfigFile |
chctl vault create kerberos |
Kerberos/AD vault for Windows discovery. |
--vaultname, --domainRealm, --domainUsername, --domainPassword, --kerberosConfig |
chctl vault create dockerjson |
Docker config.json vault. |
--vaultname, --dockerConfig |
chctl vault create registry |
Container-registry vault. |
--vaultname, --registryType, --registryServer, --vaultId |
chctl vault create buildbox |
Build machine (buildbox) definition. |
--vaultname, --host, --port, --username, --credentialVault, --osType, --connectionType |
chctl vault create dynatrace |
Dynatrace integration vault. |
--vaultname (+ tokens) |
chctl vault create newrelic |
New Relic integration vault. |
--vaultname (+ tokens) |
chctl vault create datadog |
Datadog integration vault. |
--vaultname (+ tokens) |
chctl vault create redhat |
Red Hat subscription vault. |
--vaultname (+ creds) |
chctl vault create json |
Generic JSON vault. |
--vaultname (+ payload) |
Manage vaults
| Command |
Description |
Key Options |
chctl vault list |
List all vaults (or one by id). |
--vaultId, --output (table/json) |
chctl vault delete |
Delete a vault by name. |
--name |
chctl vault validate |
Validate a buildbox vault (connectivity). |
— |
Note: the appliance never returns stored secrets to the CLI — vaults are write-only.
3. Discover
Discover hosts (nodes) into projects (waves), verify connectivity, and run discovery.
Add & manage nodes
| Command |
Description |
Key Options |
chctl discover add project |
Add multiple hosts from a CSV file (creates the project). |
--fileName |
chctl discover add node |
Add a single host to a project. |
--project, --osType, --host, --alias, --username, --connectionType, --vault, --port |
chctl discover delete node |
Delete a node (or all nodes in a project). |
--node, --project, --all |
Verify connectivity
| Command |
Description |
Key Options |
chctl discover check connection |
Verify the appliance can reach the node. |
--node, --project |
chctl discover check prerequisites |
Verify discovery prerequisites on the node. |
--node, --project |
Run discovery
| Command |
Description |
Key Options |
chctl discover start-discover node |
Run discovery on a single node. |
--node, --project |
chctl discover start-discover project |
Run discovery on all nodes in a project. |
--project |
List / get
| Command |
Description |
Key Options |
chctl discover get projects |
List all projects. |
--output (table/json) |
chctl discover get nodes |
List nodes in a project. |
--project, --output |
chctl discover get error-logs |
Collect discovery-log errors from a project's hosts into a CSV. |
--project or --inventory, --vault-creds, --output, --all-hosts, --workers, --timeout (see --help for the full set) |
Offline / air-gapped discovery
| Command |
Description |
Key Options |
chctl discover local |
Run offline discovery on a remote host, or many via an inventory CSV; downloads results to a folder. |
--node, --osType, --userName, --password, --project, --inventory, --out-dir, --clean |
chctl discover upload |
Upload offline discovery result files from a folder to the appliance. |
--osType, --project, --dirPath, --wait, -w |
Bulk offline example
chctl discover local --inventory hosts.csv --project MyProject --out-dir ./results
chctl discover upload --dirPath ./results --project MyProject
X-Ray (process deep-dive)
| Command |
Description |
Key Options |
chctl discover xray start |
Start X-Ray on a process. |
--project, --hostName, --processName, --pid |
chctl discover xray status |
Check X-Ray status. |
--project, --hostName, --processName, --pid |
chctl discover xray latestStatus |
Check the latest X-Ray status. |
--project, --hostName, --processName, --pid |
chctl discover xray stop |
Stop X-Ray on a process. |
--project, --hostName, --processName, --pid |
| Command |
Description |
Key Options |
chctl transform getProfiles |
List transform profiles for a project. |
--project, --output |
chctl transform getTransformActions |
List transform actions for a profile. |
--profileId or --profileName (+ --project), --output |
chctl transform getDockerfile |
Get the generated Dockerfile for a service. |
--project, --hostName, --profileName, --output |
chctl transform createImage |
Build a container image from a discovered Linux process. |
--project, --hostName, --profileName, --serviceName, --registryVaultName, --registryUser, --buildboxName, --repositoryName, --imageTag, --isFinal |
Example
chctl transform createImage --project MyProject --hostName web01 \
--profileName default --serviceName nginx --buildboxName bb1 \
--registryVaultName reg --repositoryName myrepo --imageTag v1 --isFinal
5. Cruize (Kubernetes Workload Management)
| Command |
Description |
Key Options |
chctl cruize startApplicationDeployment |
Create a workload / application deployment. |
--blueprintName, --blueprintVersion, --deploymentName, --clusterName, --environment, --clusterNamespace, --ingressName |
chctl cruize updateContainers |
Update a container image in a deployment. |
--blueprintName, --blueprintVersion, --deploymentName, --containerName, --imageTag |
chctl cruize deleteWorkload |
Delete a workload. |
--blueprintName, --environment |
chctl cruize getDeployedApps |
List deployed apps for an EKS blueprint. |
--eks, --output |
chctl cruize downloadHelmChart |
Download the Helm chart for a blueprint. |
--blueprintName, --blueprintVersion |
chctl cruize convertYamlToHelm |
Convert YAML manifests into a Helm chart. |
--yamlPath, --outputName |
chctl cruize addBYOCCluster |
Register a bring-your-own-cluster (BYOC). |
--clusterName, --clusterDescription, --clusterType, --clusterConfig |
chctl cruize deleteBYOCCluster |
Delete a BYOC cluster. |
--clusterName |
chctl cruize deploy |
GitOps deploy of an application blueprint to an EKS blueprint. |
--eks, --appBlueprintName, --appBlueprintVersion |
chctl cruize promote |
Promote an application from a source to a target EKS blueprint. |
--source, --applicationName, --target, --appBlueprintVersion |
6. EKS (AWS Blueprint Lifecycle)
| Command |
Description |
Key Options |
chctl eks create |
Create an EKS blueprint from a Git repo. |
--awsVaultName, --sshVaultName, --eksGitRepositoryUrl, --blueprint |
chctl eks get |
Get EKS blueprint(s). |
--name, --options (debug/resources), --output |
chctl eks about |
About the EKS blueprints. |
— |
chctl eks output |
Show EKS blueprint outputs. |
--name |
chctl eks update |
Update an EKS blueprint. |
--name |
chctl eks delete |
Delete an EKS blueprint. |
--name |
7. Smoke Test
| Command |
Description |
Key Options |
chctl smoke-test |
Prove a freshly installed appliance works end-to-end: login → add sample vault → add sample host (creates a project) → list projects → list hosts. |
--project, --vault, --vault-username, --vault-password, --host, --alias, --host-username, --osType, --connectionType, --port, --output (table/json) |
Example
chctl smoke-test # human-readable table
chctl smoke-test --output json # machine-readable (CI); exits non-zero on any failure
Reuses your saved chctl login. Creates fixed-name sample artifacts and leaves them as visible proof; repeat runs stay green.
8. Appliance Management (On-Prem Admin)
Run on the appliance host to manage the CloudHedge Enterprise services.
| Command |
Description |
Key Options |
chctl setup appliance |
Install / set up the appliance. |
--skip-load-container, --skip-db-setup, --target-directory |
chctl start appliance |
Start the appliance services. |
— |
chctl status appliance |
Check appliance service status (docker compose ps). |
— |
chctl stop appliance |
Stop the appliance services. |
— |
chctl patch appliance |
Patch one or more microservices to a given tag. |
Per-service flags (e.g. --core-engine, --vault-service, --webapp, --cruize-service, …), or --all |
chctl update config |
Set the default user account for CloudHedge Enterprise. |
--email, --username, --password |
Tip: append --help to any command or subcommand (e.g. chctl discover local --help) to see its full, current option list.