quenchworks/charts
GitHub: quenchworks/charts
一套净室编写的加固版 Helm Charts 集合,每张 chart 均锁定到经过签名验证的 0-CVE 镜像 digest,覆盖 52 种常用基础设施组件。
Stars: 1 | Forks: 0
# QuenchWorks 图表
为 [QuenchWorks](https://github.com/quenchworks) 目录提供的净室 Helm charts。每个 chart 都部署来自 [images](https://github.com/quenchworks/images) 工厂的加固版 0-CVE 镜像,严格通过 `sha256` digest 进行锁定,作为经过 cosign 签名的 OCI artifact 发布到 GHCR,并作为**已验证的发布者**附带 Values schema 列在 ArtifactHub 上。
**52 个 charts。** 无付费墙,无需账号,无供应商锁定。在 [quenchworks.mkabumattar.com/charts](https://quenchworks.mkabumattar.com/charts) 浏览全部。
```
helm install cache oci://ghcr.io/quenchworks/charts/redis
```
这就是安装的全部步骤。它部署的镜像已经过签名并锁定了 digest,因此您无需自己追踪镜像安全性。
## 安全模型
每个 chart 都内置了三项保证:
- **始终锁定 digest。** Charts 通过 `repository@sha256:...` 解析镜像,从不通过 tag 解析。仅引用 tag 的行为会被刻意拒绝,因此 chart 在物理上不可能发布未锁定的镜像。
- **统一的加固基线。** 每个 chart 都从 [`quench-common`](https://github.com/quenchworks/common) 库 chart 继承相同的 pod 和 container 安全上下文:nonroot、只读根文件系统、禁止权限提升、丢弃所有 capabilities、seccomp 设为 `RuntimeDefault`。一处修复,处处生效。
- **可验证的来源。** Charts 经过 cosign 无密钥签名,它们指向的镜像也经过签名并附带 SBOM。您可以自行检查所有内容。
## 目录
| 类别 | Charts |
|----------|--------|
| 关系型 | `postgresql` · `mariadb` · `mysql` · `cockroachdb` ⚠️ |
| 文档型 | `couchdb` · `ferretdb` · `documentdb` · `postgres-documentdb` · `mongodb` ⚠️ |
| 宽列型 | `cassandra` · `scylladb` |
| 键值/缓存 | `valkey` · `redis` · `memcached` · `dragonfly` ⚠️ |
| 搜索/向量 | `opensearch` · `solr` · `meilisearch` · `qdrant` · `elasticsearch` ⚠️ |
| 时间序列 | `influxdb` · `victoriametrics` |
| 分析型 | `clickhouse` |
| 图数据库 | `neo4j` |
| 消息/流处理 | `kafka` · `nats` · `rabbitmq` · `pulsar` |
| 协调调度 | `etcd` · `zookeeper` · `temporal` |
| 可观测性 | `prometheus` · `grafana` · `loki` · `tempo` · `otel-collector` · `vector` · `fluent-bit` |
| 网关/代理 | `nginx` · `caddy` · `traefik` · `haproxy` |
| 对象存储 | `garage` · `rustfs` · `seaweedfs` |
| 密钥/身份 | `openbao` · `keycloak` |
| Registry · Git · CI/IaC | `harbor` · `gitea` · `atlantis` |
⚠️ = 源代码可见,但**不**是 OSI 批准的开源(参见[许可说明](#a-note-on-licensing))。
## 验证 chart
```
cosign verify ghcr.io/quenchworks/charts/postgresql@sha256:DIGEST \
--certificate-identity-regexp 'https://github.com/quenchworks/.+' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com
```
## 单个 chart 文档
GitHub 在每个 chart 的包页面上显示的都是这个单一的仓库 README;它无法为 OCI artifacts 渲染单个 chart 的 README。每个 chart 自己的文档(values、示例、安全说明)位于 **ArtifactHub** 上,并包含在 chart 本身之中:
```
helm show readme oci://ghcr.io/quenchworks/charts/
```
## 布局
```
quench// one app chart per directory, e.g. quench/postgresql
.github/workflows/ release (lint, install, package, push) and digest repin
```
共享的 `quench-common` 库 chart 位于其自己的仓库 [quenchworks/common](https://github.com/quenchworks/common) 中,发布地址为 `oci://ghcr.io/quenchworks/charts/quench-common`。应用 charts 依赖于它并在构建时拉取,因此这里没有对其进行 vendor 处理。
## 发布流程
镜像工厂构建并签名镜像,然后向此仓库触发 `image-published` dispatch。`on-digest.yml` 会将 chart 的 `values.yaml` 重新锁定到新的 digest 并进行提交。该推送会触发 `release-.yml`,它将执行 lint、模板渲染、安装到 kind cluster 中并运行真实的客户端往返测试作为门控,然后打包并推送经过 cosign 签名的 OCI chart,最后发布 ArtifactHub 元数据。
## 净室原则
这里的 charts 都是根据每个应用自己的上游文档编写的。它们不是从任何其他供应商的 charts 复制或改编而来的。参见 [CONTRIBUTING](https://github.com/quenchworks/.github/blob/main/CONTRIBUTING.md)。
## 关于许可的说明
大部分目录内容符合 OSI 规范。有四个 charts 封装了源代码可见的数据存储,并在其 README、NOTES 以及网站上带有醒目的许可声明,因为它们**不**是 OSI 批准的开源软件。每一个都列出了我们推荐的符合规范的替代方案:
| Chart | 许可证 | 符合规范的替代方案 |
|-------|---------|-------------------|
| `mongodb` | SSPL-1.0 | `ferretdb` + `documentdb`(兼容 MongoDB-wire,真正的开源) |
| `elasticsearch` | SSPL-1.0 | `opensearch`(Apache-2.0 直接替换分支) |
| `cockroachdb` | BUSL-1.1 | 单区域 SQL 使用 `postgresql`(BUSL 在 3 年后转换为 Apache) |
| `dragonfly` | BUSL-1.1 | `valkey`(BSD-3-Clause,兼容 Redis) |
## 许可证
Chart 模板和工具使用 MIT 许可证。每个部署的应用程序均保留其自身的上游许可证。
标签:Helm, 子域名突变, 容器编排, 数据库, 软件供应链