quenchworks/images
GitHub: quenchworks/images
基于 Wolfi(melange/apko)从源码构建并每日重建的零 CVE 加固容器镜像目录,提供 cosign 签名、SBOM、多架构支持与严格漏洞门控。
Stars: 0 | Forks: 0
# QuenchWorks 镜像
镜像工厂。它在 [Wolfi](https://github.com/wolfi-dev) 上使用 [melange](https://github.com/chainguard-dev/melange) 和 [apko](https://github.com/chainguard-dev/apko) 从源代码构建加固的容器镜像,对它们实行严格的 0-CVE 门控,使用 cosign 对其进行签名,并发布到 GHCR。
为你实际运行的基础设施提供 **62 个加固镜像**。没有 Dockerfile。没有从其他发行版继承任何内容。免费、已签名,并且每天重新构建。
作为 [QuenchWorks](https://github.com/quenchworks) 的一部分,这是 Bitnami 目录的 0-CVE 替代方案。在 [quenchworks.mkabumattar.com/images](https://quenchworks.mkabumattar.com/images) 浏览每个镜像的版本和摘要。
## 这里的发布内容
目录中的每个镜像:
- **从源代码构建**,没有 Dockerfile,没有从其他发行版继承任何内容。如果上游项目在 CI 中难以编译(ClickHouse、ScyllaDB、CockroachDB、Dragonfly、MongoDB),我们会发布该项目自己的官方二进制文件,并对其基础环境进行加固,
- 在发布任何内容之前,必须通过严格的 **0 个可修复 CVE** 门控(Trivy,fail-on-fixable),
- 以 **非 root 用户(uid 1001)** 身份在 **只读根文件系统** 上运行,
- 以 **多架构** 索引(linux/amd64 + linux/arm64)形式发布,已签名并按摘要固定,
- 包含 **SBOM** 和 **cosign** 无密钥签名。
该目录涵盖了数据库、缓存、搜索与向量、流处理、协调服务、可观测性、网关和代理、对象存储、机密与身份认证,以及容器仓库(Harbor)、Git(Gitea)和 CI/IaC(Atlantis)。
## 拉取并验证
```
# 镜像按版本进行标记(没有 :latest);可以将 redis:8.8.0 替换为任何镜像和版本
docker pull ghcr.io/quenchworks/images/redis:8.8.0
cosign verify ghcr.io/quenchworks/images/redis:8.8.0 \
--certificate-identity-regexp 'https://github.com/quenchworks/.+' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com
```
## 构建如何运行
1. **melange** 从源代码将应用程序编译为已签名的 APK。
2. **apko** 组装一个最小化、非 root 的多架构镜像,并将其写入本地 tar。
3. **Trivy** 使用 `--exit-code 1 --ignore-unfixed` 扫描该 tar 文件。只要存在一个可修复的 CVE,构建就会失败,并且不会发布任何内容。
4. 只有通过门控后,apko 才会将多架构索引发布到 `ghcr.io/quenchworks/images/`。
5. **cosign** 对摘要进行签名(无密钥)。
6. 一个调度会通知 [charts](https://github.com/quenchworks/charts) 仓库,将对应的 chart 重新固定到新的摘要。
构建在每次变更时运行,**并且每天一次**。每日重新构建的意义在于:干净的扫描在明天依然有效,而不会在不知不觉中变得陈旧。
## 布局
```
catalog.yaml source of truth: app, version, source, license, tier, status
apps//melange.yaml build the package from source
apps//apko.yaml assemble the minimal nonroot image
apps//test.sh smoke test the built image
.github/workflows/ per-app build, scan, sign, dispatch
```
## 添加应用
在 `catalog.yaml` 中添加一行,然后创建 `apps//` 目录,其中包含 melange 构建、apko 配置和测试。Charts 是在 [charts](https://github.com/quenchworks/charts) 仓库中根据每个应用自身的上游文档单独编写的。请参阅 [CONTRIBUTING](https://github.com/quenchworks/.github/blob/main/CONTRIBUTING.md)。
## 关于许可的说明
目录中的大部分内容都是符合 OSI 标准的。有四个数据存储库属于源码可用软件,并在 `catalog.yaml` 和网站上附带了显著的许可声明,因为它们**不**是经过 OSI 批准的开源软件:MongoDB 和 Elasticsearch(SSPL-1.0)、CockroachDB 和 Dragonfly(BUSL-1.1)。每一个都标明了我们推荐的干净替代品:Valkey、OpenSearch、FerretDB + DocumentDB。
## 许可证
本仓库的构建配置和工具使用 MIT 许可证。每个构建的镜像都包含其上游软件自身的许可证,并记录在 `catalog.yaml` 和镜像标签中。
标签:Cutter, DevSecOps, Wolfi, 上游代理, 容器镜像, 镜像加固