关于Blackdagger
Blackdagger是一款基于DAG的工作流自动化工具,旨在为协调 DevOps、DevSecOps、MLOps、MLSecOps 和持续自动红队 (CART) 环境中的复杂工作流程提供了全面的解决方案。
从本质上讲,Blackdagger 通过其用户友好的方法和强大的功能简化了复杂工作流程的管理和执行。Blackdagger 利用声明性 YAML 格式,使用户能够使用有向无环图 (DAG) 定义自动化管道,从而有助于清晰简洁地表达任务依赖关系和执行逻辑。
功能特性
1、单一二进制文件安装;
2、用于定义 DAG 的声明性 YAML 格式;
3、用于可视化管理、重新运行和监控管道的 Web UI;
4、使用现有程序,无需进行任何修改;
5、自包含,无需 DBMS;
6、适用于持续红队(CART);
7、适用于 DevOps 和 DevSecOps;
8、适用于 MLOps 和 MLSecOps;
工具安装
Bash脚本安装
下载脚本:
curl -L https://raw.githubusercontent.com/ErdemOzgen/blackdagger/main/scripts/blackdagger-installer.sh -o blackdagger-installer.sh
确保脚本具备可执行权限:
chmod +x blackdagger-installer.sh
使用sudo运行脚本:
sudo bash blackdagger-installer.sh
Docker使用
git clone https://github.com/ErdemOzgen/blackdagger.git cd blackdagger docker compose build docker compose up
工具使用
获取用于各种目的的示例 YAML
安装后,您可以使用我们为各种目的创建的 YAML。我们创建这些 YAML 是为了帮助您了解可以在 Blackdagger 中使用的机制,并为您提供创建自己的 YAML 或修改我们的 YAML 以满足您的目的的灵感:
可以通过运行以下命令按类别下载这些 YAML:
# Categories: mlops, default, devsecops, devops, mlsecops, cart blackdagger pull <category>
启动 Web UI
使用下列命令启动服务器和调度程序,然后访问http://127.0.0.1:8080即可使用Web UI:
blackdagger start-all
或
blackdagger server
创建新的 DAG
点击 Web UI 左侧面板的菜单,导航到 DAG 列表页面,然后点击页面顶部的New DAG按钮创建 DAG。在对话框中输入example。
编辑 DAG
转到SPEC选项卡并点击Edit按钮。复制并粘贴以下示例并点击Save按钮:
schedule: "* * * * *" # Run the DAG every minute steps: - name: s1 command: echo Hello blackdagger - name: s2 command: echo done! depends: - s1
执行 DAG
您可以通过按下Start按钮来执行示例,然后就可以在 Web UI 的日志页面中看到“Hello blackdagger”了。
命令行使用
# 运行DAG blackdagger start [--params=<params>] <file> # 显示当前DAG状态 blackdagger status <file> # 重新运行指定的DAG blackdagger retry --req=<request-id> <file> # 终止DAG执行 blackdagger stop <file> # 重启当前运行的DAG blackdagger restart <file> # Dry-runs DAG blackdagger dry [--params=<params>] <file> # 启动Web UI服务器和计划任务进程 blackdagger start-all [--host=<host>] [--port=<port>] [--dags=<path to directory>] # 启动Blackdagger Web UI 服务器 blackdagger server [--host=<host>] [--port=<port>] [--dags=<path to directory>] # 启动计划任务进程 blackdagger scheduler [--dags=<path to directory>] # 显示当前工具版本 blackdagger version # 从远程代码库获取YAML blackdagger pull <repo domain name>
工具运行截图
工具运行演示
Blackdagger的安装和设置:【点我观看】
Blackdagger的使用:【点我观看】
Blackdagger的 DAG 创建和运行:【点我观看】
许可证协议
本项目的开发与发布遵循GPL-3.0开源许可协议。
项目地址
Blackdagger:【GitHub传送门】