À propos du projet

Cadence Workflow est une plateforme open-source (depuis 2017) pour créer et exécuter des workflows évolutifs, tolérants aux pannes et de longue durée. Ce dépôt contient le moteur d'orchestration central ainsi que des outils de support, notamment une CLI, des utilitaires de gestion de schémas, des outils de test de charge/contrainte et des workflows de contrôle de santé canariens. Architecture : Le backend Cadence se compose de plusieurs services, d'une base de données (Cassandra, MySQL ou PostgreSQL) et, en option, de Kafka avec Elasticsearch. Les utilisateurs déploient un worker contenant leur implémentation de workflow, et une fois le backend et les workers en cours d'exécution, les workflows peuvent être déclenchés via les SDK ou la CLI. Pour commencer : Le moyen le plus rapide d'exécuter Cadence localement est via Docker Compose (`docker compose -f docker/docker-compose.yml up`). Des exemples de recettes sont disponibles pour Go et Java. Une interface web est accessible à localhost:8088 pour consulter l'historique des workflows et les traces détaillées. Pour les déploiements Kubernetes, la console KubeStellar fournit une installation guidée étape par étape à l'aide du chart Helm officiel de cadence-charts, incluant des vérifications préalables, la validation, le dépannage et la prise en charge de la restauration. Bibliothèques clientes : Des SDK officiels sont disponibles pour Go et Java. Des SDK maintenus par la communauté existent pour Python et Ruby. Le framework iWF peut également être utilisé comme couche DSL au-dessus de Cadence. CLI : La CLI Cadence est un outil puissant pour gérer les workflows, les listes de tâches, les domaines et les clusters. Les commandes sont organisées par onglets (par exemple, workflow -> batch -> start, ou admin -> workflow -> describe). Les options d'installation incluent Homebrew (`brew install cadence-workflow`), des images Docker ou une compilation depuis les sources. La CLI inclut également des outils de schéma pour SQL et Cassandra. Interface utilisateur : L'interface web Cadence (disponible à localhost:8088 lors de l'exécution avec Docker Compose) fournit une interface visuelle pour visualiser et gérer les workflows. Outils supplémentaires : Le dépôt inclut des outils de test de charge/contrainte, des outils de contrôle de santé périodique des fonctionnalités (canari) et des outils de gestion de schémas pour les bases de données SQL et Cassandra. Les fichiers de schéma se trouvent à /usr/local/etc/cadence/schema/ lorsqu'ils sont installés via Homebrew. Communauté : Cadence fait partie de l'écosystème CNCF. Les canaux communautaires incluent les discussions GitHub, les problèmes GitHub, StackOverflow et le canal #cadence-users sur le Slack CNCF. Le projet est sous licence Apache 2.0.