Skip to content

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

4. Transform (Containerization)

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.