- flow/devices.py: DeviceDef in FLOWS_DIR/_devices/<id>.json, committed under
the flow store's write lock, 409 on a stale version; nonces in DEVICES_FILE
outside git; in-memory presence announced as device_status
- api/routes/devices.py: CRUD, pairing with an optional {name, board,
firmware}, a pending list adopted without a code from the LAN only, unpair;
/panels/pair, /panels/pair/{code} and GET /panels/{id} kept as aliases,
PUT /panels/ gone
- _device_may replaces _panel_may, JWT claims unchanged
- panels.json moves into devices once at startup, then .migrated
- MCP list_devices, get_device; search category device
- Devices tab (list, detail with presence, pairing, ordered dashboards,
touch, I/O), PanelsDialog removed, serialised optimistic saves
44 lines
2.3 KiB
Plaintext
44 lines
2.3 KiB
Plaintext
# Fluksio
|
|
|
|
> Fluksio is a node-based automation engine for live flows and batch runs.
|
|
> Nodes connect through typed, named messages. Start with pip for data science
|
|
> or Docker for facility automation; connect to a portal for optional remote
|
|
> access. Data stays on the instance.
|
|
|
|
## Getting started
|
|
|
|
- [Pick your starting point](/getting-started/): choose data science or facility automation
|
|
- [Data science](/getting-started/data-science/): pip setup, a Python function, and a first run
|
|
- [Facility automation](/getting-started/facility-automation/): Docker setup, a live flow, dashboards, and devices
|
|
|
|
## Concepts
|
|
|
|
- [Flows, nodes and messages](/concepts/flows/): the graph comes from message names, not drawn wires
|
|
- [Where a node's values come from](/concepts/values/): ports, settings, flow inputs
|
|
- [Keeping state in a flow](/concepts/state/): a message a node both reads and writes
|
|
- [Runs: pipelines that finish](/concepts/runs/): batch mode, metrics, artifacts, sweeps, durability
|
|
|
|
## The interface
|
|
|
|
- [The dashboard app](/interface/): the shell, Home, health and activity
|
|
- [The flow editor](/interface/flow-editor/): canvas, node panel, dock, shortcuts, drafts
|
|
- [Dashboards and devices](/interface/dashboards/): widgets, typed bindings, wall screens
|
|
- [Secrets, modules and alerts](/interface/operations/): credentials, packages, failure routing
|
|
- [Accounts and the portal](/interface/portal/): enrolment, remote users, revoking
|
|
|
|
## Code and the CLI
|
|
|
|
- [The fluksio command](/code/cli/): serve, enroll, worker, and the data directory
|
|
- [Writing node code](/code/nodes/): process(), generators, fluksio.emit, artifacts
|
|
- [The HTTP API](/code/api/): auth, flows, messages, runs, observability, websocket
|
|
- [Remote workers](/code/workers/): fluksio-worker, device labels, artifacts across hosts
|
|
- [Agents over MCP](/code/agents/): the tool list and the security model
|
|
- [Writing a connector](/code/connectors/): packaging a device integration as a node type
|
|
|
|
## Reference
|
|
|
|
- [Node types](/reference/node-types/): every built-in type and its settings
|
|
- [Payload types](/reference/payload-types/): float, int, str, bool, json, record, list, series, artifact
|
|
- [Configuration](/reference/configuration/): every environment variable
|
|
- [The connector contract](/reference/connector-contract/): what a connector package must provide
|