turbot/flowpipe

GitHub: turbot/flowpipe

Flowpipe 是一个云自动化与工作流引擎,解决将多云、人员与数据连接起来进行编排的问题。

Stars: 462 | Forks: 27

[![libraries](https://img.shields.io/endpoint?url=https://turbot.com/api/badge-stats?stat=fp_libraries)](https://hub.flowpipe.io)   [![pipelines](https://img.shields.io/endpoint?url=https://turbot.com/api/badge-stats?stat=fp_pipelines)](https://hub.flowpipe.io)   [![slack](https://img.shields.io/endpoint?url=https://turbot.com/api/badge-stats?stat=slack)](https://turbot.com/community/join)   [![maintained by](https://img.shields.io/badge/maintained%20by-Turbot-blue)](https://turbot.com) ## 工作流程 [Flowpipe](https://flowpipe.io) 实现了自动化和工作流,将您的云与重要的人、系统和数据连接起来。 **管道**。一个 [管道](https://flowpipe.io/docs/flowpipe-hcl/pipeline) 是一系列 [步骤](https://flowpipe.io/docs/flowpipe-hcl/pipeline) 来完成工作。 **步骤**。一个步骤可以 [发起 HTTP 调用](https://flowpipe.io/docs/flowpipe-hcl/step/http)、[收集人工输入](https://flowpipe.io/docs/flowpipe-hcl/step/input)、[发送消息](https://flowpipe.io/docs/flowpipe-hcl/step/message)、[运行查询](https://flowpipe.io/docs/flowpipe-hcl/step/query) 或 [运行管道](https://flowpipe.io/docs/flowpipe-hcl/step/pipeline)。 **触发器**。一个 [触发器](https://flowpipe.io/docs/flowpipe-hcl/trigger) 在事件发生时通过 [Webhook](https://flowpipe.io/docs/flowpipe-hcl/trigger/http)、[查询](https://flowpipe.io/docs/flowpipe-hcl/trigger/query) 或 [计划任务](https://flowpipe.io/docs/flowpipe-hcl/trigger/schedule) 运行管道。 **代码,而非点击**。我们的管道是 [代码](https://flowpipe.io/docs/build):受版本控制、可组合、可共享、易于编辑 — 按照您的工作方式设计。 ## 演示时间! **[观看 YouTube →](https://www.youtube.com/watch?v=h4mWhMzaS7Y)** flowpipe demo ## 文档 请参阅 [文档](https://flowpipe.io/docs) 获取以下信息: - [运行 Flowpipe](https://flowpipe.io/docs/run) - [CLI 命令](https://flowpipe.io/docs/reference/cli) - [HCL 参考](https://flowpipe.io/docs/flowpipe-hcl) - [配置](https://flowpipe.io/docs/reference/config-files) - [构建 Mods](https://flowpipe.io/docs/build) ## 安装 Flowpipe 从 [下载页面](https://flowpipe.io/downloads) 安装 Flowpipe: ``` # MacOS brew install turbot/tap/flowpipe ``` ``` # Linux or Windows (WSL) sudo /bin/sh -c "$(curl -fsSL https://flowpipe.io/install/flowpipe.sh)" ``` 现在,[创建并运行您的第一个管道 →](https://flowpipe.io/docs)。 ## Flowpipe Mods:库与示例 Flowpipe [库 Mods](https://hub.flowpipe.io/?type=library) 可用于以下服务 AWS, Azure, GCP, GitHub, Jira, Okta, PagerDuty, SendGrid, Slack, Teams, Zendesk ... 以及更多! 查看 [Flowpipe 示例](https://hub.flowpipe.io/?type=sample) 获取可直接运行的示例,这些示例使用了各种库 Mods。 ## 开发 如果您希望帮助开发 Flowpipe 二进制文件,以下是构建它的步骤。
克隆 克隆 [github.com/flowpipe](https://github.com/turbot/flowpipe) 和 [github.com/turbot/pipe-fittings](https://github.com/turbot/pipe-fittings)。 ``` git clone git@github.com:turbot/flowpipe git clone git@github.com:turbot/pipe-fittings ```
构建 ``` cd flowpipe make ``` Flowpipe 二进制文件将生成在当前目录中。
检查安装 ``` ./flowpipe --version ./flowpipe --help ```
试用 ``` ./flowpipe pipeline list --mod-location ./internal/es/estest/test_suite_mod/ ``` ``` MOD NAME DESCRIPTION mod.mod_depend_a mod_depend_a.pipeline.echo_one_depend_a mod.test_suite_mod test_suite_mod.pipeline.any_param mod.test_suite_mod test_suite_mod.pipeline.bad_email_with_expr mod.test_suite_mod test_suite_mod.pipeline.bad_http_ignored Ignored bad HTTP step. mod.test_suite_mod test_suite_mod.pipeline.bad_http_not_ignored Pipeline with a HTTP step that will fail. Error is not ignored. ``` 现在运行一个简单管道: ``` ./flowpipe pipeline run --mod-location ./internal/es/estest/test_suite_mod/ simple ``` ``` [flowpipe] Execution ID: exec_clsm62ko47mjp5f74730 [simple] Starting pipeline [simple.echo] Starting transform [simple.echo] Output echo_1 = echo 1 [simple.echo] Output echo_2 = echo 2 [simple.echo] Complete 2ms [simple] Output val = Hello World [simple] Complete 12ms exec_clsm62ko47mjp5f74730 ```
DevContainer 还有其他第三方工具是完整套件所必需的,但并非初始开发任务所必需。我们已经构建了一个 [DevContainer](https://containers.dev/),其中安装了所有必需的工具。 1. 安装 [Docker](https://docs.docker.com/get-docker/) 2. 安装 [VS Code](https://code.visualstudio.com/) 3. 拉取 Dev Container:`docker pull ghcr.io/turbot/flowpipe-devcontainer:latest` 4. 在 VS Code 中安装 `devcontainer` 扩展。 5. 在 `Dev Containers: Open Folder in Container...` 选项中打开 `flowpipe`。 6. 运行 `make` 来构建 Flowpipe 二进制文件。 [Flowpipe DevContainer](https://github.com/turbot/flowpipe/pkgs/container/flowpipe-devcontainer) 包含以下工具: * [Java](https://openjdk.org/) * [Apache Maven](https://maven.apache.org/) * [Swag](https://github.com/swaggo/swag) * [MailHog](https://github.com/mailhog/MailHog) * [OpenAPI Generator](https://github.com/OpenAPITools/openapi-generator)
如果您有兴趣开发 [Flowpipe Mods](https://hub.flowpipe.io),请参阅我们的 [Mod 开发者文档](https://flowpipe.io/docs/build)。 ## Turbot Pipes 请访问 [Turbot Pipes](https://turbot.com/pipes),与团队一起在云端使用 Flowpipe。在 Pipes 工作区中,您可以使用 [Steampipe](https://github.com/turbot/steampipe) 进行数据访问,使用 [Powerpipe](https://github.com/turbot/powerpipe) 可视化查询结果,并使用 Flowpipe 自动化工作流。 ## 开源与贡献 本仓库在 [AGPL 3.0](https://www.gnu.org/licenses/agpl-3.0.html) 许可下发布。请参阅我们的 [行为准则](https://github.com/turbot/.github/blob/main/CODE_OF_CONDUCT.md)。贡献者必须在首次拉取请求时签署我们的 [贡献者许可协议](https://turbot.com/open-source#cla)。我们期待与您合作! [Flowpipe](https://flowpipe.io) 是由 [Turbot HQ, Inc](https://turbot.com) 生产的开源软件产品。它根据我们的商业条款分发。其他人可以自行分发该软件,但不能使用任何 Turbot 商标、云服务等。您可以在我们的 [开源常见问题解答](https://turbot.com/open-source) 中了解更多信息。 ## 参与进来 **[加入 Slack 的 #flowpipe 频道 →](https://turbot.com/community/join)**
标签:Flowpipe, HCL, HTTP调用, SEO: DevOps 工具, SEO: Flowpipe, SEO: 云自动化, SEO: 工作流, Turbot, Webhook, 云端工作流, 云端脚本引擎, 云自动化, 云连接, 代码即配置, 力导向图, 可共享, 可组合, 可编辑, 安全可观测性, 工作流引擎, 文档结构分析, 日志审计, 查询, 步骤, 流程自动化, 消息发送, 版本控制, 管道, 自动化编排, 触发器