Nodes
An edge node is the runtime that executes data pipelines on your infrastructure.
What is a Node?
A node is:
- A lightweight daemon (~50MB binary)
- Runs on your infrastructure
- Executes one or more pipelines
- Reports metrics to Expanso Cloud
Node Lifecycle
1. Bootstrap
Register with Expanso Cloud using a bootstrap token:
expanso-edge bootstrap --token YOUR_TOKEN
The node receives credentials and network assignment.
2. Connect
Establish secure TLS connection to control plane:
- Registers with assigned network
- Receives initial configuration
- Begins health reporting
3. Execute
Run assigned pipelines:
- Download pipeline configs
- Execute data processing
- Report metrics and status
4. Update
Receive configuration updates:
- New pipelines deployed
- Existing pipelines updated
- Configuration changes applied
Deployment Options
Nodes can run anywhere:
Bare metal / VMs:
curl -sL https://get.expanso.io/edge/install.sh | bash
expanso-edge bootstrap --token TOKEN
Docker:
docker run -d \
-e EXPANSO_EDGE_BOOTSTRAP_TOKEN=TOKEN \
ghcr.io/expanso-io/expanso-edge:nightly
Kubernetes:
apiVersion: apps/v1
kind: Deployment
metadata:
name: expanso-edge
spec:
template:
spec:
containers:
- name: expanso-edge
image: ghcr.io/expanso-io/expanso-edge:latest
env:
- name: EXPANSO_EDGE_BOOTSTRAP_TOKEN
value: YOUR_TOKEN
Edge devices:
- Raspberry Pi
- IoT gateways
- Industrial PLCs
Resource Requirements
Minimal footprint:
- CPU: 0.5 cores
- RAM: 64 MB base
- Disk: 150 MB
Actual usage depends on:
- Number of pipelines
- Data volume
- Buffering configuration
- Transformation complexity
Node Labels
Add labels during bootstrap or via configuration:
labels:
env: production
region: us-east-1
datacenter: dc-1
role: log-processor
Use labels to:
- Organize nodes
- Target deployments
- Filter in monitoring
Health & Monitoring
Nodes report health every 10 seconds:
- Connection status: Connected/disconnected
- Pipeline status: Running/stopped/failed
- Resource usage: CPU, memory, disk
- Error conditions: Recent errors and warnings
What's Next?
👉 Pipelines - Learn about data flow definitions
👉 Deploy a Node - Get hands-on