Skip to main content

CLI Command Reference

A comprehensive reference document covering all Turing-workflow commands.

Basic Usage

./turing_workflow.java --help

Command List

CommandDescription
runExecute a workflow
listList steps within a workflow
describeDisplay detailed workflow information
log-searchSearch the log database
log-serveStart the log viewer HTTP server
log-mergeMerge multiple log databases
db-clearDelete the log database

run - Workflow Execution

Reads a workflow YAML and executes steps against specified nodes.

Syntax

./turing_workflow.java run -w <workflow> [options]

Required Options

OptionDescription
-w, --workflowPath to workflow directory or file

Options

OptionDescriptionDefault
-d, --dirWorking directoryCurrent directory
-i, --inventoryPath to inventory fileDefault within workflow
-g, --groupTarget node groupAll groups
--limitLimit target nodes (comma-separated)No limit
-k, --ask-passUse SSH password authenticationKey authentication
-o, --overlayOverlay configuration fileNone
--render-toOutput destination for rendered resultsNone
-t, --threadsNumber of parallel execution threads4
-v, --verboseVerbose output modeDisabled

Logging Options

OptionDescriptionDefault
-q, --quietSuppress console outputDisabled
-l, --logPath to log fileNone
--log-dbPath to log database./turing-workflow-logs
--no-log-dbDisable database loggingEnabled
--log-serveStart log server after executionDisabled
--embeddedEmbedded mode (for external integration)Disabled

Display Options

OptionDescription
-c, --cowfileSpecify cowsay character (list to show available)

Examples

Local execution (basic)

./turing_workflow.java run -w ./workflows/deploy

Remote execution (with inventory)

./turing_workflow.java run -w ./workflows/deploy -i ./inventory/production.yaml

With overlay

./turing_workflow.java run -w ./workflows/deploy -o ./overlays/staging.yaml

Password authentication

./turing_workflow.java run -w ./workflows/deploy -i ./inventory/servers.yaml -k

Verbose output

./turing_workflow.java run -w ./workflows/deploy -v

Start log server after execution

./turing_workflow.java run -w ./workflows/deploy --log-serve

High performance (increased threads)

./turing_workflow.java run -w ./workflows/deploy -t 16

Report only output

./turing_workflow.java run -w ./workflows/deploy -q --render-to ./report.html

Exit Codes

CodeMeaning
0Success
1Workflow execution error
2Argument error

list - Step Listing

Lists steps within a workflow.

Syntax

./turing_workflow.java list -w <workflow-directory>

Required Options

OptionDescription
-w, --workflowPath to workflow directory

Output Format

ColumnDescription
StepStep number
NameStep name (vertex name)
TypeStep type (command, script, copy, etc.)
TargetExecution target

Example Output

Step  Name                Type      Target
---- ------------------ -------- --------
1 check-disk-space command all
2 backup-config script all
3 deploy-package copy all
4 restart-service command all
5 verify-health command all

describe - Workflow Details

Displays the structure and details of each step in a workflow.

Syntax

./turing_workflow.java describe -w <workflow> [options]

Required Options

OptionDescription
-w, --workflowPath to workflow directory or file

Options

OptionDescriptionDefault
-o, --overlayDisplay with overlay configuration appliedNone
--stepsShow detailed description for each stepDisabled

Example Output

Workflow: deploy-application
Directory: ./workflows/deploy
Steps: 5
Groups: web-servers, db-servers

Step 1: check-disk-space
Type: command
Command: df -h /opt
On-Failure: abort

Step 2: backup-config
Type: script
Script: scripts/backup.sh
On-Failure: abort

Step 3: deploy-package
Type: copy
Source: packages/app-2.0.tar.gz
Destination: /opt/app/
On-Failure: rollback → Step 2

Searches and displays log entries from the log database.

Syntax

./turing_workflow.java log-search --db <path> [options]

Required Options

OptionDescription
--dbPath to log database

Options

OptionDescriptionDefault
--serverRemote log server URLLocal
-s, --sessionFilter by session IDAll sessions
--listDisplay session listDisabled
-n, --nodeFilter by node nameAll nodes
--levelFilter by log levelAll levels
-wFilter by workflow nameAll
-oOutput formattext
-iCase insensitiveDisabled
--afterLogs after specified datetime (ISO 8601)No limit
--sinceLogs within specified period (e.g., 1h, 30m)No limit
--limitMaximum number of entries to display100
--summaryDisplay session summaryDisabled
--list-nodesDisplay node listDisabled

Examples

Display session list

./turing_workflow.java log-search --db ./turing-workflow-logs --list

Display logs for a specific session

./turing_workflow.java log-search --db ./turing-workflow-logs -s abc123

Filter by node and level

./turing_workflow.java log-search --db ./turing-workflow-logs -n web-server-01 --level ERROR

Filter by time range

./turing_workflow.java log-search --db ./turing-workflow-logs --since 2h
./turing_workflow.java log-search --db ./turing-workflow-logs --after 2026-04-01T10:00:00

Log Levels

LevelColorDescription
ERRORRedError. Operation failed
WARNYellowWarning. Potential issue
INFOWhiteInformation. Normal operation record
DEBUGGrayDebug. Detailed execution information
TRACEDark grayTrace. Most detailed information

log-merge - Log Merge

Merges multiple log databases into one.

Syntax

./turing_workflow.java log-merge --target <path> [options]

Required Options

OptionDescription
--targetTarget database path for merge

Options

OptionDescriptionDefault
--scanDirectory to search for log databasesCurrent directory
--dry-runDisplay targets without actual mergeDisabled
--skip-duplicatesSkip duplicate entriesDisabled
-v, --verboseVerbose outputDisabled

Examples

Scan directory and merge

./turing_workflow.java log-merge --target ./merged-logs --scan ./project/

Dry run (verify before execution)

./turing_workflow.java log-merge --target ./merged-logs --scan ./project/ --dry-run

With verbose output

./turing_workflow.java log-merge --target ./merged-logs --scan ./project/ -v

Duplicate Detection

log-merge detects duplicates by combining session ID and timestamp. When the --skip-duplicates option is specified, entries that already exist in the target are automatically skipped. Without this option, the command stops with an error when duplicates are detected.


db-clear - Database Deletion

Deletes log database files.

Syntax

./turing_workflow.java db-clear --db <path> [options]

Required Options

OptionDescription
--dbPath to database to delete

Options

OptionDescriptionDefault
-f, --forceDelete without confirmation promptWith confirmation
--http-portLog server port (for shutdown confirmation)8080

Safety Check

Without -f, a confirmation prompt is displayed before deletion:

Database: ./turing-workflow-logs
Files to delete:
- turing-workflow-logs.mv.db (12.3 MB)
- turing-workflow-logs.trace.db (0.1 MB)

Are you sure you want to delete these files? [y/N]

Files Deleted

FileDescription
*.mv.dbH2 database main file
*.trace.dbH2 trace log
*.lock.dbH2 lock file (if present)