Tooark/base-images

GitHub: Tooark/base-images

集中管理 CI/CD 流水线与基础设施自动化所需 Docker 基础镜像的仓库,统一版本控制和文档,开箱即用。

Stars: 1 | Forks: 0

# base-images 用于 CI/CD 和基础设施自动化的基础镜像仓库。 每个子项目都有各自的 Dockerfile、版本控制和文档。 🌍 **语言:** ![USA Flag](https://flagcdn.com/w20/us.png) **English(本文件)** · [![Brazil Flag](https://flagcdn.com/w20/br.png) Português](https://github.com/Tooark/base-images/blob/main/README.pt-BR.md) ## 目录 - [概述](#overview) - [镜像文档](#image-documentation) - [现成示例](#ready-made-examples) - [仓库结构](#repository-structure) - [版本控制与自动化](#versioning-and-automation) - [推荐工作流](#recommended-workflow) - [许可证](#license) ## 概述 本仓库集中管理用于 pipeline 和基础设施自动化的 Docker 镜像。 每个镜像保留: - 一个用于可重现构建的 Dockerfile - 一个用于发布控制的 VERSION 文件 - 一个功能摘要 DESCRIPTION - 一个包含镜像内容、快速入门、pipeline 示例和本地构建的 README 所有镜像共享相同的基础镜像(`debian:13-slim`),以非 root 用户(`app`)身份运行,并使用相同的 `docker-entrypoint.sh`,该脚本会在运行时调整 `docker.sock` 的 GID 并通过 `gosu` 降权。 ## 镜像文档 | 子项目 | 包含内容 | 文档 | | ---------------------- | --------------------------------------------------------------------------- | ---------------------------------------------------------------- | | `aws-cli` | AWS CLI v2 + kubectl + Docker CLI + Buildx | [aws-cli/README.md](aws-cli/README.md) | | `dockerx` | Docker CLI + 用于多架构构建的 Buildx 插件 | [dockerx/README.md](dockerx/README.md) | | `gcloud-cli` | Google Cloud SDK (`gcloud`, `gsutil`, `bq`) + kubectl + Docker CLI + Buildx | [gcloud-cli/README.md](gcloud-cli/README.md) | | `tofu` | OpenTofu CLI | [tofu/README.md](tofu/README.md) | | `tofu-aws` | OpenTofu + AWS CLI v2 + kubectl | [tofu-aws/README.md](tofu-aws/README.md) | | `tofu-gcloud` | OpenTofu + Google Cloud SDK + kubectl | [tofu-gcloud/README.md](tofu-gcloud/README.md) | | `tofu-aws-gcloud` | OpenTofu + AWS CLI v2 + Google Cloud SDK + kubectl | [tofu-aws-gcloud/README.md](tofu-aws-gcloud/README.md) | | `security-scanner` | Trivy + Hadolint + BetterLeaks + 用于扫描和报告的 `ark-tools` 包装器 | [security-scanner/README.md](security-scanner/README.md) | | `sonar-scanner` | 用于 CI/CD pipeline 中分析的 Sonar Scanner CLI | [sonar-scanner/README.md](sonar-scanner/README.md) | | `terraform` | Terraform CLI(已弃用) | [terraform/README.md](terraform/README.md) | | `terraform-aws` | Terraform + AWS CLI v2 + kubectl(已弃用) | [terraform-aws/README.md](terraform-aws/README.md) | | `terraform-gcloud` | Terraform + Google Cloud SDK + kubectl(已弃用) | [terraform-gcloud/README.md](terraform-gcloud/README.md) | | `terraform-aws-gcloud` | Terraform + AWS CLI v2 + Google Cloud SDK + kubectl(已弃用) | [terraform-aws-gcloud/README.md](terraform-aws-gcloud/README.md) | | `trivy-hadolint` | Trivy + Hadolint + 用于扫描和报告的 `ark-tools` 包装器 | [trivy-hadolint/README.md](trivy-hadolint/README.md) | ## 现成示例 将以下文件作为本地验证和 pipeline 的起点: - 包含本地示例和用法的指南:[samples/README.md](samples/README.md) - 用于 GitHub Actions 的构建/发布 pipeline:[samples/github-actions-images.yml](samples/github-actions-images.yml) - 用于 GitLab CI 的构建/发布 pipeline:[samples/gitlab-ci-images.yml](samples/gitlab-ci-images.yml) security-scanner 的专用示例: - 完整的本地运行:[samples/security-scanner-local.sh](samples/security-scanner-local.sh) - 完整的 GitHub Actions pipeline:[samples/security-scanner-github-actions.yml](samples/security-scanner-github-actions.yml) - 完整的 GitLab CI pipeline:[samples/security-scanner-gitlab-ci.yml](samples/security-scanner-gitlab-ci.yml) ## 仓库结构 - 每个子项目文件夹包含: - `Dockerfile`:镜像定义 - `VERSION`:子项目版本 - `DESCRIPTION`:简短的镜像摘要 - `README.md`:用法、变量和示例 - `.trivyignore`:镜像安全扫描中被接受的 CVE 例外 ## 版本控制与自动化 [versions.env](versions.env) 文件集中管理所有工具和镜像的版本。 `script/` 文件夹包含自动化脚本: | 脚本 | 用途 | | --------------------------------- | ----------------------------------------------------------- | | `fetch-latest-stable-versions.py` | 获取每个工具的最新稳定版本 | | `update-versions.py` | 更新 `versions.env` 并管理 `.trivyignore` 文件 | ### 自动管理 .trivyignore 当 `update-versions.py` 脚本检测到新的工具版本时,它会: 1. **清除并重新初始化** **所有受**版本更改**影响的镜像**的 `.trivyignore`。 2. **不重新构建,也不自动继承**镜像之间的例外。 3. 使用标准头部和自动审查日期重新创建该文件,以便维护者只需手动添加该版本接受的 CVE。 ## 推荐工作流 1. 从[镜像文档](#image-documentation)的目录中选择镜像。 2. 遵循所选镜像 README 中的快速入门和变量。 3. 使用 [samples/README.md](samples/README.md) 中的示例以及专用的 security-scanner 文件进行初始集成。 4. 对于发布和版本更新,请使用 [script/](script/fetch-latest-stable-versions.py) 文件夹中的脚本。 ## 许可证 MIT - 请参阅仓库根目录下的 [LICENSE](LICENSE) 文件。
标签:Docker, Pandas, 基础设施自动化, 基础镜像, 安全防御评估, 请求拦截, 逆向工具