Skip to main content

Jobs

expanso-cli job

Manage jobs

Synopsis

Manage jobs in Expanso.

What Is A Job?

A job is a declarative specification for a data processing pipeline that runs on your edge nodes. Jobs are defined in YAML files containing: • name: Unique identifier for the job • type: Job type (currently only "pipeline" is supported) • config: Pipeline configuration (input, processors, output) • selector: Which nodes should run this job (label-based matching)

JOB vs PIPELINE: Jobs are the orchestration unit - they define WHAT runs and WHERE. Pipelines are the workload type - they define data processing logic. Today, jobs with type="pipeline" are the primary use case.

Job Lifecycle:

  1. Deploy: Submit job spec to the control plane (validates and stores)
  2. Evaluate: Scheduler finds matching nodes based on selector
  3. Execute: Job runs on selected nodes (long-running, restarts on failure)
  4. Monitor: Track execution status and logs
  5. Update: Deploy new version (scheduler re-evaluates and updates executions)

Pipeline Structure:

Pipelines process data through three stages: • Input: Where data comes from (files, HTTP, message queues, etc.) • Processors: Transformations, filtering, enrichment (optional) • Output: Where data goes (S3, databases, APIs, stdout, etc.)

Node Selectors:

Target specific nodes using label-based selectors: selector: match_labels: region: us-west env: production

Common Workflows:

Deploy a new job

expanso-cli job deploy log-processor.yaml

List all jobs

expanso-cli job list

Check job status

expanso-cli job describe log-processor

See where job is running

expanso-cli execution list --job log-processor

Update a job (new version triggers re-evaluation)

expanso-cli job deploy log-processor.yaml

Stop a running job

expanso-cli job stop log-processor

Options

  -h, --help   help for job

Options inherited from parent commands

      --auth-token string   API bearer authentication token
-e, --endpoint string API endpoint URL
-k, --insecure Skip TLS certificate verification
-p, --profile string Profile to use for configuration
--timeout string Request timeout duration
-v, --verbose Enable verbose logging

SEE ALSO

Auto generated by spf13/cobra on 19-Nov-2025