Yor是一个开源工具,旨在为基础设施即代码(IaC)框架添加信息丰富且一致的标签。目前支持Terraform、CloudFormation和Serverless框架,可自动为IaC资源块添加标签。Yor可作为GitHub Action自动应用标签逻辑,也可作为pre-commit钩子或独立CLI工具运行,帮助团队实现云资源与IaC代码的关联追踪及变更管理。
yor_trace标签实现IaC资源块与运行中的云资源之间的简单关联。bashdocker pull bridgecrew/yor
在本地IaC目录上运行Yor添加标签:
bashdocker run --tty --volume /local/path/to/tf:/tf bridgecrew/yor tag --directory /tf
说明:
--volume /local/path/to/tf:/tf将本地IaC目录挂载到容器内的/tf路径,tag --directory /tf指定对该目录下的IaC文件应用标签。
tag命令(核心标签功能)bash# 对terraform目录树应用所有标签(递归) docker run --tty -v /local/tf:/tf bridgecrew/yor tag --directory /tf # 对terraform目录应用标签,不递归子目录 docker run --tty -v /local/tf:/tf bridgecrew/yor tag --directory /tf --non-recursive # 仅应用指定标签(git_file和git_org) docker run --tty -v /local/tf:/tf bridgecrew/yor tag --directory /tf --tags git_file,git_org # 排除指定标签(以git开头和yor_trace标签) docker run --tty -v /local/tf:/tf bridgecrew/yor tag --directory /tf --skip-tags git*,yor_trace # 仅应用git标签组下的所有标签 docker run --tty -v /local/tf:/tf bridgecrew/yor tag --tag-groups git --directory /tf # 应用自定义键值对标签(需设置环境变量) docker run --tty -e YOR_SIMPLE_TAGS='{ "Environment" : "Dev" }' -v /local/tf/dev:/tf bridgecrew/yor tag --tag-groups simple --directory /tf # Dry-Run模式(预览标签变更,不实际修改文件) docker run --tty -v /local/tf:/tf bridgecrew/yor tag -d /tf --dry-run # 使用外部标签组配置文件 docker run --tty -v /local/config:/config -v /local/tf:/tf bridgecrew/yor tag -d /tf --config-file /config/custom_tags.yaml # 排除特定类型的资源(如aws_s3_bucket) docker run --tty -v /local/tf:/tf bridgecrew/yor tag -d /tf --skip-resource-types aws_s3_bucket # 为标签添加前缀 docker run --tty -v /local/tf:/tf bridgecrew/yor tag -d /tf --tag-prefix "module_" # 排除指定名称的资源 docker run --tty -v /local/tf:/tf bridgecrew/yor tag -d /tf --skip-resources aws_s3_bucket.operations # 仅对指定框架应用标签 docker run --tty -v /local/tf:/tf bridgecrew/yor tag -d /tf --parsers Terraform,CloudFormation
bash# 默认CLI输出 docker run --tty -v /local/tf:/tf bridgecrew/yor tag -d /tf -o cli # JSON格式输出 docker run --tty -v /local/tf:/tf bridgecrew/yor tag -d /tf -o json # 同时输出CLI和JSON文件(便于程序分析+人工阅读) docker run --tty -v /local/tf:/tf bridgecrew/yor tag -d /tf --output cli --output-json-file /tf/result.json
bash# 对path/to/files应用标签,跳过指定子目录 docker run --tty -v /local/path/to/files:/tf bridgecrew/yor tag -d /tf --skip-dirs /tf/skip,/tf/another/skip2
bash# 列出内置标签组 docker run --tty bridgecrew/yor list-tag-groups # 列出所有内置标签 docker run --tty bridgecrew/yor list-tags # 列出git标签组下的所有标签 docker run --tty bridgecrew/yor list-tags --tag-groups git
通过特定注释可排除资源或文件被标签化,目前支持Terraform和CloudFormation文件:
hcl# Terraform示例 #yor:Skip resource "aws_instance" "example_instance" { ami = "ami-0c55b159cbfafe1f0" instance_type = "t2.micro" } # CloudFormation示例 #yor:skip ExampleInt: Type: AWS::Lambda::Function Properties: Description: An example template
hcl# Terraform示例 #yor:skipAll resource "aws_vpc" "example_vpc" { cidr_block = "10.0.0.0/16" } # CloudFormation示例 #yor:skipAll Resources: NewVolume: Type: AWS::EC2::Volume Properties: Size: 100
yor_trace是一个特殊标签,为IaC资源代码块创建唯一标识符。通过该标签,无需访问敏感的plan或state文件,即可将云资源与对应的IaC代码块关联,实现从云资源到代码的追踪。
bashbrew tap bridgecrewio/tap brew install bridgecrewio/tap/yor
bashchoco install yor
yamlname: IaC trace on: [push, pull_request] jobs: yor: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - name: Run yor action uses: bridgecrewio/yor-action@main
golangci-lint run --fix --skip-dirs tests/yor_plugins确保代码规范来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429