Sobre o projeto

Flow é um motor de execução ETL moderno e leve, além de um orquestrador de fluxo de trabalho, desenvolvido como um único binário em Go, sem dependências externas de tempo de execução. Ele se posiciona como uma alternativa a ferramentas legadas como SSIS e orquestradores complexos baseados em código, como Apache Airflow. O Flow combina pipelines declarativos em XML com um construtor web visual embutido baseado em HTMX, permitindo que os usuários projetem, validem e executem fluxos de trabalho de processamento de dados sem precisar de uma infraestrutura pesada. Entre suas principais capacidades, destaca-se o suporte nativo a múltiplos bancos de dados heterogêneos (PostgreSQL, SQL Server, Oracle, MySQL, SQLite e lojas de chave-valor), com abstração automática de dialetos para placeholders SQL. O motor suporta primitivas avançadas de orquestração, como execução paralela, lógica condicional, loops iterativos e verificações prévias. Ele também integra scripts Go interpretados e consultas SQL dentro do mesmo pipeline. O Flow oferece observabilidade integrada por meio de telemetria de auditoria automática, gravando status de execução, durações e contagens de linhas nas tabelas `pipeline_runs` e `pipeline_events`. Além disso, suporta pipelines auto-documentáveis, gerando gráficos de fluxo visual em Mermaid.js e oferecendo capacidades de transformação XSLT 3.0 para relatórios personalizados. A configuração é amigável ao Git, suportando substituições hierárquicas via arquivos XML específicos do ambiente e variáveis de linha de comando em tempo de execução.