Build Your First Pipeline
Write a pipeline, deploy it to Expanso Cloud, and watch it run on a connected edge node. Start with a simple "Hello World" and progressively work up to processing real system data.
This series follows the Expanso Cloud route throughout: you author pipeline config locally, wrap it in a job spec, and deploy it with expanso-cli job deploy. Expanso Edge also runs standalone, but that is a separate route documented in Local Mode — follow one or the other, not a mix of both.
What You'll Learn
This tutorial covers 4 progressive examples, each building on the last:
- Hello World - The simplest possible pipeline
- Make a Change - Modify and see updates instantly
- Data Transformation - Convert sensor readings with calculations
- Real Data - Read and process live system logs
Time required: 10 minutes total (or 2-3 minutes per step)
Prerequisites
- Linux, macOS, or Windows
- Terminal access
- An Expanso Cloud workspace, a saved
expanso-cliprofile with an API key, and at least one connected edge node. That one-time setup is in Deploy to Cloud.
Install Expanso Edge and expanso-cli
Expanso Edge is the runtime that executes your pipelines, and expanso-cli is
how you deploy jobs to your workspace. You need both:
- Linux
- macOS
- Windows
# Install Expanso Edge
curl -fsSL https://get.expanso.io/edge/install.sh | bash
# Install expanso-cli
curl -fsSL https://get.expanso.io/cli/install.sh | bash
# Verify installation
expanso-edge version
expanso-cli version
# Install Expanso Edge
curl -fsSL https://get.expanso.io/edge/install.sh | bash
# Install expanso-cli
curl -fsSL https://get.expanso.io/cli/install.sh | bash
# Verify installation
expanso-edge version
expanso-cli version
# Windows: Use Docker (PowerShell installer not yet available)
docker pull ghcr.io/expanso-io/expanso-edge:latest
# Or use WSL2 for both binaries
wsl curl -fsSL https://get.expanso.io/edge/install.sh | bash
wsl curl -fsSL https://get.expanso.io/cli/install.sh | bash
See the Installation Guide Windows tab for detailed setup options including Docker and WSL2.
expanso-edge runs under the user's context, and will only have access to files
that that user explicitly has access to. It is recommended to run expanso-edge
under a dedicated user or group. If you see "Failed to create directories", you
may not have the necessary permissions.
Neither binary runs a pipeline from a bare config file. expanso-edge run --config loads agent settings, as explained in
Configuration Formats and Common Mistakes;
pipelines execute as jobs you deploy with expanso-cli job deploy.