All Projects → fristonio → Xene

fristonio / Xene

Licence: mit
A distributed workflow runner focusing on performance and simplicity.

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Xene

Argo Workflows
Workflow engine for Kubernetes
Stars: ✭ 10,024 (+17800%)
Mutual labels:  dag, workflow-engine, airflow, workflow
Titanoboa
Titanoboa makes complex workflows easy. It is a low-code workflow orchestration platform for JVM - distributed, highly scalable and fault tolerant.
Stars: ✭ 787 (+1305.36%)
Mutual labels:  workflow-engine, distributed-systems, workflow
Airflow Maintenance Dags
A series of DAGs/Workflows to help maintain the operation of Airflow
Stars: ✭ 914 (+1532.14%)
Mutual labels:  dag, airflow, workflow
Arvados
An open source platform for managing and analyzing biomedical big data
Stars: ✭ 274 (+389.29%)
Mutual labels:  cloud, workflow-engine, workflow
Prefect
The easiest way to automate your data
Stars: ✭ 7,956 (+14107.14%)
Mutual labels:  workflow-engine, workflow
Ngx Graph
Graph visualization library for angular
Stars: ✭ 704 (+1157.14%)
Mutual labels:  dag, workflow
Hyperflow
HyperFlow: a scientific workflow engine
Stars: ✭ 53 (-5.36%)
Mutual labels:  workflow-engine, workflow
Scipipe
Robust, flexible and resource-efficient pipelines using Go and the commandline
Stars: ✭ 826 (+1375%)
Mutual labels:  workflow-engine, workflow
Airflow
Apache Airflow - A platform to programmatically author, schedule, and monitor workflows
Stars: ✭ 24,101 (+42937.5%)
Mutual labels:  airflow, workflow
Galaxy
Data intensive science for everyone.
Stars: ✭ 812 (+1350%)
Mutual labels:  workflow-engine, workflow
Docs
Lightweight document management system packed with all the features you can expect from big expensive solutions
Stars: ✭ 827 (+1376.79%)
Mutual labels:  cloud, workflow
Cromwell
Scientific workflow engine designed for simplicity & scalability. Trivially transition between one off use cases to massive scale production environments
Stars: ✭ 655 (+1069.64%)
Mutual labels:  cloud, workflow
Django River
Django workflow library that supports on the fly changes ⛵
Stars: ✭ 609 (+987.5%)
Mutual labels:  workflow-engine, workflow
Docker Airflow
Repo for building docker based airflow image. Containers support multiple features like writing logs to local or S3 folder and Initializing GCP while container booting. https://abhioncbr.github.io/docker-airflow/
Stars: ✭ 29 (-48.21%)
Mutual labels:  airflow, distributed-systems
Airflow Toolkit
Any Airflow project day 1, you can spin up a local desktop Kubernetes Airflow environment AND one in Google Cloud Composer with tested data pipelines(DAGs) 🖥 >> [ 🚀, 🚢 ]
Stars: ✭ 51 (-8.93%)
Mutual labels:  cloud, airflow
Smartflow Sharp
基于C#语言研发的Smartflow-Sharp工作流组件,该工作流组件的特点是简单易用、方便扩展、支持多种数据库访问、高度可定制化,支持用户按需求做功能的定制开发,节省用户的使用成本
Stars: ✭ 594 (+960.71%)
Mutual labels:  workflow-engine, workflow
Cyclone
Powerful workflow engine and end-to-end pipeline solutions implemented with native Kubernetes resources. https://cyclone.dev
Stars: ✭ 978 (+1646.43%)
Mutual labels:  dag, workflow
Easy Flows
The simple, stupid workflow engine for Java
Stars: ✭ 433 (+673.21%)
Mutual labels:  workflow-engine, workflow
Wdl
Workflow Description Language - Specification and Implementations
Stars: ✭ 438 (+682.14%)
Mutual labels:  cloud, workflow
Cloudneo
CWL implementation of CloudNeo: A cloud pipeline for identifying patient-specific tumor neoantigens
Stars: ✭ 13 (-76.79%)
Mutual labels:  cloud, workflow

Xene

A distributed workflow runner with focus on performance and simplicity.

Netlify Status Travis Status License: MIT Go Report Card Go Doc

Xene is a high performance, distributed workflow execution platform. It lets you create custom workflows in the form of a Directed Acyclic Graph, which can then be executed based on a trigger configured with the workflow.

Xene is built with Golang with a focus on performance, resiliency, and simplicity. Xene internally runs in a way similar to Kubernetes by getting triggered on a level and then reconciling the desired state with the current state. Currently, xene supports Badger as the storage engines, which is pluggable and can be replaced with a similar key-value store.

Features

Xene aims to tackle two main problems in any workflow execution system:

  1. Low resource footprint
  2. Flexibility and Simplicity

Xene exploits a lot of small enhancement to reduce the network and memory footprint of the executors and APIServer. APIServer acts as the brains of the whole ecosystem by directing the decisions of scheduling workloads and managing coordination between all the moving components. All the communication between APIServer and Agent is encrypted using mTLS and xene doesn't require Agents to communicate with each other reducing network footprint.

Xene derives a lot of its design decisions from Kubernetes, like:

  • Like Kubernetes, xene is also level triggered and does the reconciliation of state described by the user with the actual state.
  • It also uses a KeyValue store to store all the states and objects. To reduce the memory footprint, xene supports the use of Badger as a key-value store.
  • Objects are reconciled using controllers configured to watch changes on keys in the KVStore.

Some of the main features of Xene are:

  • Locally running workflow from provided specs.
  • Command line tool for xene(xenectl) to interact with apiserver.
  • mTLS based authentication between agent and apiserver.
  • JWT based authentication for API server.
  • Google OAuth based authentication integration.
  • Beta UI based on React and Typescript
  • Workflow creation and running on top of Docker based container runtime executor on the agent.
  • Secrets management for agents.
  • Workflow pipelines run live log streaming and status feed.
  • Google based OAuth for APIServer with domain filtered authorization.

Contributing

If you'd like to contribute to this project, refer to the contributing guide.

You can start with setting up Xene on your system and try solving a few bugs listed here: https://github.com/fristonio/xene/issues

Documentation

License

Xene is licensed under MIT License.

Contact

If you have any queries regarding the project or just want to say hello, feel free to drop a mail at [email protected].

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].