IronFlow
03.2026 - Present
-
Rust -
Tokio -
Axum -
Claude Code -
React -
PostgreSQL -
Docker -
Kubernetes -
Prometheus
Description du projet
IronFlow est un moteur d'orchestration de workflows écrit entièrement en Rust, conçu pour offrir performance et fiabilité dans l'exécution de pipelines complexes.
Contrairement aux outils classiques qui reposent sur des fichiers YAML ou des DSL déclaratifs, IronFlow permet de définir les workflows en code impératif. Chaque workflow est composé de steps qui peuvent exécuter des opérations Shell, des requêtes HTTP, des appels à des agents IA (compatible avec n'importe quel provider) ou des opérations custom définies par l'utilisateur.
Le cycle de vie de chaque run et step repose sur des machines à états finis (FSM), garantissant des transitions prévisibles et un suivi précis de l'état d'exécution. Le moteur supporte l'exécution parallèle de steps, les gates d'approbation manuelle et le branchement conditionnel pour les workflows complexes.
L'architecture se compose de plusieurs couches : une API REST (Axum) qui expose les runs, steps et statistiques ; des workers distribués qui consomment les tâches en arrière-plan via Tokio ; et un dashboard React pour le suivi en temps réel avec visualisation des états et logs.
Côté infrastructure, IronFlow utilise PostgreSQL pour la persistance, JWT + Argon2id pour l'authentification, et supporte plusieurs transports distants : SSH, Docker et Kubernetes. Le système intègre des déclencheurs par webhooks et cron, un mécanisme de record/replay pour les tests d'intégration, et exporte des métriques Prometheus pour le monitoring en production.
Fonctionnalités principales : définition de workflows en code Rust impératif, exécution parallèle avec contrôle de concurrence, gates d'approbation manuelle pour les étapes critiques, branchement conditionnel basé sur les résultats des steps précédents, intégration native d'agents IA multi-providers, transports distants SSH, Docker et Kubernetes, déclencheurs par webhooks et planification cron, mécanisme de record/replay pour les tests d'intégration, métriques Prometheus pour le monitoring, et dashboard React temps réel.
Technologies utilisées
Ce projet utilise les technologies suivantes : Rust, Tokio, Axum, Claude Code, React, PostgreSQL, Docker, Kubernetes, Prometheus.