Repository navigation
Releases: writes-the-spec/flowlite
Release list
flowlite 0.2.0
What's new
- A login for the dashboard. An
[auth]section putsflowlite servebehind a login checked against an OAuth2 identity provider, so the dashboard can be served to other people. Without it nothing changes: there is no login, and/loginis a 404. See UI in the reference. - The config file is now
flowlite.toml. It wasconfig.toml.flowlite.tomlsays which tool the file belongs to, which matters when the data directory is a repository holding other tools' config.
Upgrading from 0.1.0
Rename config.toml in your data directory to flowlite.toml. 0.2.0 does not read the old name. A directory that keeps it starts on the defaults: no [secrets], no [smtp] or [slack], and a job that names one of those is refused at startup.
Run history carries over as before: stop serve, replace the binary and start it again. This release adds no database migrations.
Install
cargo install --git https://github.com/writes-the-spec/flowlite --tag v0.2.0See the README and REFERENCE.md.
flowlite 0.1.0
The first release of flowlite: a job scheduler and orchestrator in a single binary, for scripts, pipelines and AI agents alike.
What's in it
- Jobs and schedules as YAML. A DAG of tasks per job, six-field cron with time zones, parameters,
env:andsecret_env:, and runs that snapshot the definition they executed so a rerun replays exactly that run. - Execution. Retries, timeouts and idle timeouts. A stop or timeout sends SIGTERM to the whole process group and SIGKILL after a grace period. Per-job overlap limits, a global attempt cap and named concurrency limits. Crash recovery that marks an unaccountable run
invalidand kills what it left behind. - For agentic jobs. A task writes a result to
$FLOWLITE_TASK_OUTPUTand its dependents read it from$FLOWLITE_INPUT_<TASK>. A retry gets the failed attempt's log and result.stdin:passes a prompt with no shell quoting, and each run gets its own working directory. A task can submit child runs, which are stopped and deleted with it, and a task waiting on a child holds no slot. - Interfaces. A CLI with
--jsonon every job and job-run command, a localhost dashboard, andflowlite mcp, an MCP server with ten tools. - Operations. Email and Slack notifications that quote the failing output, retention per job and across jobs, and one server per data directory, enforced by a lock.
Install
cargo install --git https://github.com/writes-the-spec/flowlite --tag v0.1.0Upgrading
From 0.1.0 on, run history upgrades in place. A flowlite.db written by a pre-release build may refuse to start with a migration checksum error. Copy it aside if its history matters, then delete it. Jobs and schedules come back from the YAML.
See the README and REFERENCE.md.