common-module

module
v0.1.143 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 20, 2026 License: MIT

README

Tiny Systems Common Module

Contains basic components for flow-based programming.

Components

Signal

Flow trigger with blocking output. Click Send to emit 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 cases:

  • Start/stop HTTP servers
  • Control long-running operations
  • Lifecycle management of downstream components
Blocking Edges

The Blocking: true flag on a port creates a persistent, lifecycle-controlled connection:

Aspect Regular Edge Blocking Edge
Wait behavior Waits for response (ms-seconds) Waits until target stops (minutes-hours)
Persistence None TinyState in K8s
Survives restarts No Yes
Cascade deletion No Yes (source deleted → target stops)
Edge animation Brief Continuous while active

When to use Blocking:

  • Target runs continuously (servers, watchers, connections)
  • Source controls target's lifecycle
  • Need restart tolerance
  • Want cascade deletion

When to use Regular:

  • Data processing (request → transform → response)
  • One-time operations
  • Fast request-response patterns

Example:

Signal (blocking) → HTTP Server    # Server runs while Signal is active
Cron (regular) → Debug            # Each tick is independent

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

Directories

Path Synopsis
components

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL