common-module-v0
Container Image
europe-west2-docker.pkg.dev/tinyplatform/tinysystems/common-module-v0:0.1.175Components 11 available
array_split
Array iterator. Input: context + array. Emits one message per array element on Out, each containing {context, item}. Elements are processed sequentially - next item sent after previous Out completes. Use to process lists item by item.
async
Non-blocking pass-through. Returns immediately (unblocks sender), then emits context on Out in a goroutine. Limits concurrent goroutines via maxConcurrency setting to prevent memory issues.
cron
Scheduled emitter using cron expressions. Click Start to begin emitting context on Out port according to the schedule. Supports standard cron syntax (minute hour day-of-month month day-of-week). Examples: '*/5 * * * *' (every 5 min), '0 */2 * * *' (every 2 hours), '0 9 * * 1-5' (9 AM weekdays). Click Stop to pause. Cron survives pod restarts and leadership changes.
debug
Message sink for inspection. Receives messages on In (no output ports). Displays last received message in Control port. Use as flow endpoint to inspect data or terminate unused branches.
delay
Timed pause. Receives context + delay (ms) on In, sleeps for specified duration (blocking upstream), then emits context on Out. Use for rate limiting or adding pauses between operations.
group_by
Groups an array of items by a specified field path. Input: items array + groupByPath (e.g., 'labels.app'). Output: array of groups sorted by key, each with key, items, and count.
inject
Injects stored configuration into passing messages. Config port receives settings (stored), message port receives high-throughput messages that get config injected.
router
Conditional message router. Configure routes via settings (e.g., routes=["POST", "OTHER"]). Output ports are named out_ (e.g., out_post, out_other). Input: context (data to forward) + conditions array (each with route name and boolean). Routes context to FIRST condition where condition=true. If NO condition is true: with enableDefaultPort=true, routes to 'default' port (use for else/fallback logic); with enableDefaultPort=false, message is dropped.
signal
Flow trigger. Click Send to emit configured context on Out port and start the flow. The Out port is a blocking port - Signal keeps running (edge animated) until the connected component stops or Reset is clicked. Use as entry point - connect Out to components you want to activate when flow starts.
ticker
Periodic emitter. Click Start to begin emitting context on Out. Waits for Out port to complete, then waits [delay] ms before next emit. Click Stop to pause. Survives pod restarts via metadata persistence.
transform
Data transformer for connecting output back to input on the SAME node (e.g., http_server request→response loops). AVOID using modify between DIFFERENT nodes - configure data mapping directly on the edge instead. Edge configuration can set literal values and map fields without needing modify in between.
Release Notes
Tiny Systems Common Module
Contains basic components for flow-based programming.
Components
Signal
Flow trigger. Click Send to emit context on Out port.
Use cases:
- Trigger flows manually
- Send configuration to downstream components
Build locally
go run cmd/main.go tools build --devkey abcd11111e --name github.com/tiny-systems/common-module --version v1.0.5 --platform-api-url http://localhost:8281
Run locally
OTLP_DSN=http://test.token@localhost:2345 HOSTNAME=pod2 go run cmd/main.go run --name localsecond/common-module-v1 --namespace=tinysystems --version=1.0.5