tasker-ctl 0.1.1

Command-line interface for the Tasker orchestration system
tasker-ctl-0.1.1 is not a library.

tasker-ctl

Command-line interface for the Tasker orchestration system. Manage tasks, monitor workers, inspect configuration, investigate DLQ entries, and generate documentation from the terminal.

Overview

tasker-ctl provides operator-facing commands for the full Tasker lifecycle. Built on the tasker-client library, it supports REST and gRPC transports with profile-based configuration.

Installation

cargo install tasker-ctl

Or build from source:

cargo build --release -p tasker-ctl

Commands

Command Description
task create Create a new task with namespace, context, and priority
task get <UUID> Get task details
task list List tasks with status/namespace filters
task cancel <UUID> Cancel a running task
task steps <UUID> List workflow steps for a task
task reset-step Reset a step for automatic retry
task resolve-step Mark a step as manually resolved
task complete-step Complete a step with execution results
task step-audit View step audit trail (SOC2 compliance)
worker list List active workers
worker health Check worker health
system health System health across orchestration and workers
config generate Generate merged config from base + environment
config validate Validate a configuration file
config explain Explain configuration parameters
config dump Export configuration as JSON/YAML/TOML
dlq list List Dead Letter Queue entries
dlq stats DLQ statistics
auth generate-keys Generate RSA key pair for JWT signing
auth generate-token Generate JWT with specified permissions
auth validate-token Validate a JWT token
docs reference Generate configuration reference documentation
docs annotated Generate annotated configuration example

Usage

# Create a task
tasker-ctl task create --name data_processing --namespace analytics \
  --input '{"file": "/data/input.csv"}'

# Monitor system health
tasker-ctl system health --orchestration --workers

# Investigate DLQ
tasker-ctl dlq list --status pending

# Generate config documentation
tasker-ctl docs reference --context all --output docs/config-reference.md

# Use a specific profile
tasker-ctl --profile staging task list

Configuration

The CLI loads configuration with this precedence:

  1. --config <path> — explicit config file
  2. --profile <name> — named profile from .config/tasker-client.toml
  3. TASKER_CLIENT_PROFILE env var
  4. Default config discovery
# .config/tasker-client.toml
[profiles.local]
transport = "rest"
orchestration_url = "http://localhost:8080"

[profiles.production]
transport = "grpc"
orchestration_url = "https://tasker.example.com:9190"
api_key_env = "TASKER_API_KEY"

License

MIT License — see LICENSE for details.

Contributing

See the Tasker Core contributing guide and Code of Conduct.