Skip to content
Justin Neubert edited this page May 18, 2025 · 4 revisions

  1. What Is exFlow?
  2. Why was it created?
  3. How does it work?

What Is exFlow?

exFlow is an Workflow Automation Platform like Jenkins or Semaphore UI. The backend is written in Golang and the frontend in NextJS. This ensures maximum compatibility and increased performance.

To separate Teams or different concerns you can create projects with members in different roles. Flows, folders and runners are assigned to projects to create an isolated space.

With exFlow you can execute Ansible Playbooks, SSH commands, Ping targets and many more things.

One advantage of exFlow is that you can extend it with plugins. We have already some pre-written plugins but you can also create your own.

Why was it created?

My main problem with Jenkins and or Semaphore UI was the UI and some runtime aspects.

But besides the style of those Platforms I also had issues running them in an Cloud-Native environment. Scalability and flexibility were the things I wanted to do better with exFlow.

How does it work?

The main part of exFlow is of course the backend and frontend. Both of them are separated from each other and can be run independently.

But the backend and frontend are nothing without the runner. The runners are responsible to execute your flows/executions.

Runners connect to the backend and can be created persistently or with the "auto join" way. Auto Join was made if the runner is hosted on an scalable infrastructure where you can scale the runner based on load and it will automatically join and register on exFlow.

To ensure an secure communication between the runner and backend there will be an jwt token generated by the backend when the runner registers.

Clone this wiki locally