Blackdagger:一款针对DevSecOps的工作流自动化工具

科技   2024-12-27 19:53   上海  

关于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>

工具运行截图






 

许可证协议


本项目的开发与发布遵循GPL-3.0开源许可协议。


项目地址


Blackdagger

https://github.com/ErdemOzgen/blackdagger


FreeBuf粉丝交流群招新啦!
在这里,拓宽网安边界
甲方安全建设干货;
乙方最新技术理念;
全球最新的网络安全资讯;
群内不定期开启各种抽奖活动;
FreeBuf盲盒、大象公仔......
扫码添加小蜜蜂微信回复「加群」,申请加入群聊】






FreeBuf
中国网络安全行业门户
 最新文章