
Data-Driven Task Orchestration
Renelick is a full-stack solution to orchestrate tasks and manage the data they produce. Its historical use-case was to test the upstream Linux kernel which is now handled by VIXI. It has since matured into a generic framework for automating pretty much anything: microgrids, home appliances, IT systems monitoring, DevOps...
Beta Testing available
See the Quick Start Guide to access the Beta Testing public instance with a standalone client.


It brings together the classic concepts of events, tasks and data:
- New data generate events
- Events trigger tasks
- Tasks produce new data
These three features can be used in arbitrary ways to store and retrieve data, schedule tasks or send messages between services as you see fit. Applications decide how to make use of this for their own purposes and how to integrate with other systems.
Status & Roadmap
The full design has now been finalised after a comprehensive review and a
successful proof-of-concept stage. A first stable release with the
v1.0.0rc1 and
v1.0.0rc2
milestones is underway. A public instance has been deployed on
beta.renelick.org for Beta Testing. Follow the
standalone client Quick Start Guide to get rolling and
play with it; no user account is required to access it in read-only mode.
Beta Testing user accounts
Beta Testing user accounts are being gradually issued on a case-by-case basis. They give full access to the API and the web frontend. To request one:
GitLab issue "New item" Description template: "Account Request"
Beyond the core services, a reference Weather Watchdog application as well as VIXI, a full-fledged kernel testing project are being developed. They helped getting the API to a stable stage during Alpha Testing and are now being deployed on top of the Beta Testing instance.
In addition to the milestones, some blog posts are being published regularly to share the news.
Overview
The API implementation is based on FastAPI which includes a JSON description. This is used to generate the client-side Python API bindings and command line interface as well as the Typescript frontend client. Additional languages such as Rust can be enabled too.
Runtime environments are where tasks get scheduled and run. This can be done
anywhere as long as a driver is available. As of today, the inline driver
can be used to run tasks directly in the current Python process and tekton
for running Cloud-native pipelines in Tekton. Other
runtimes on the roadmap are GCP on-demand VMs, LAVA and local Docker and QEMU.
A basic storage solution is available using SSH for file uploads and HTTP for downloads. For a production deployment, any third-party storage provider may be used with a dedicated driver. The only requirement is that files be reachable via direct URLs since this is how artifacts are managed in the database.
Development
Please take a look at the Quick Start Guide to set up a local development instance. The code is all publicly hosted on GitLab with GitLab CI enabled to automatically run static checks and end-to-end smoke tests on merge requests.
License
Unless explicitly mentioned otherwise, the Renelick software is licensed under GNU LGPL v2.1 or later.
The Renelick frontend is licensed under MIT.
The Renelick documentation is licensed under CC BY-SA 4.0