Skip to content

AkôFlow is an open-source middleware for orchestrating and executing container-based scientific workflows across heterogeneous environments. It was originally developed within the e-Science Research Group at the Institute of Computing, Fluminense Federal University (UFF).

Notifications You must be signed in to change notification settings

UFFeScience/akoflow

Repository files navigation

 █████╗ ██╗  ██╗ ██████╗ ███████╗██╗      ██████╗ ██╗    ██╗
██╔══██╗██║ ██╔╝██╔═══██╗██╔════╝██║     ██╔═══██╗██║    ██║
███████║█████╔╝ ██║   ██║█████╗  ██║     ██║   ██║██║ █╗ ██║
██╔══██║██╔═██╗ ██║   ██║██╔══╝  ██║     ██║   ██║██║███╗██║
██║  ██║██║  ██╗╚██████╔╝██║     ███████╗╚██████╔╝╚███╔███╔╝
╚═╝  ╚═╝╚═╝  ╚═╝ ╚═════╝ ╚═╝     ╚══════╝ ╚═════╝  ╚══╝╚══╝

AkôFlow - Open Source Middleware for Containerized Scientific Workflows

AkôFlow is an open-source middleware for orchestrating and executing container-based scientific workflows across heterogeneous environments. It was originally developed within the e-Science Research Group at the Institute of Computing, Fluminense Federal University (UFF).

Although initially focused on Kubernetes-based workloads, AkôFlow has evolved to support general containerized execution across multiple infrastructures.

Software Requirements

  • Operating System: Linux, macOS or WSL2 (Windows Subsystem for Linux)
  • Docker: Install Docker
  • kubectl: Install kubectl
  • Kubernetes Cluster: One of the following:
    • Kind (local)
    • Docker Desktop Kubernetes (enable Kubernetes in settings)
    • Cloud providers (e.g., EKS, GKE, AKS)

Instalation

Run the following command to install AkôFlow:

curl -fsSL https://akoflow.com/run | bash

AkôFlow will be available at http://localhost:8080.

How to Set Up Kubernetes Runtime for AkôFlow

  1. Access the Web Interface
    Open your browser and go to the AkôFlow web interface at http://localhost:8080.

  2. Connect to a Kubernetes Cluster
    AkôFlow requires a Kubernetes runtime. You can use one of the following options:

  1. Apply AkôFlow Resources
    Deploy the required AkôFlow resources to your Kubernetes cluster by running the following command:
kubectl apply -f https://raw.githubusercontent.com/UFFeScience/akoflow/main/pkg/server/resource/akoflow-dev-dockerdesktop.yaml
  1. Generate a Service Account Token
    Create a token for the AkôFlow service account with the following command:
kubectl create token akoflow-server-sa --duration=800h --namespace=akoflow
  1. Set Environment Variables
    Configure the environment variables for AkôFlow to connect to your Kubernetes cluster:
export K8S_API_SERVER_HOST=https://<your-k8s-api-endpoint>
export K8S_API_SERVER_TOKEN=<your-generated-token>

Replace <your-k8s-api-endpoint> with your Kubernetes API server endpoint and <your-generated-token> with the token generated in the previous step.

Demonstration video

AkôFlow Demonstration (In Portuguese)

Supported Environments

  • Kubernetes (public cloud providers: AWS, GCP, Azure, etc.)
  • Singularity (for local or HPC isolated execution)
  • SDumont supercomputer (LNCC - Brazil)

Contributors

Publications

  • Ferreira, W., Kunstmann, L., Paes, A., Bedo, M., & de Oliveira, D. (2024, October). AkôFlow: um Middleware para execução de Workflows científicos em múltiplos ambientes conteinerizados. In 39th Simpósio Brasileiro de Banco de Dados (SBBD) (pp. 27-39). SBC. (DOI:10.5753/sbbd.2024.241126.)

  • Ferreira, W., Kunstmann, L., Garcia R., Bedo, M., & de Oliveira, D. (2025, October). Plug and Flow: Execução de Workflows Científicos em Contêineres com o Middleware AkôFlow. In 40th Simpósio Brasileiro de Banco de Dados (SBBD). (Paper just accepted)

Academic Context

AkôFlow originated as a final undergraduate project and has since expanded with broader contributions and integrations. It continues to serve both academic and industrial workflow execution scenarios.

About

AkôFlow is an open-source middleware for orchestrating and executing container-based scientific workflows across heterogeneous environments. It was originally developed within the e-Science Research Group at the Institute of Computing, Fluminense Federal University (UFF).

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 6