kadras-io/package-for-dependency-track

GitHub: kadras-io/package-for-dependency-track

基于 Carvel 工具链封装的 OWASP Dependency Track Kubernetes 部署包,简化软件供应链安全平台的落地流程。

Stars: 0 | Forks: 0

# Dependency Track ![Test Workflow](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/431073128e201622.svg) ![Release Workflow](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/06ae8a22ae201624.svg) [![SLSA Level 3 徽章](https://slsa.dev/images/gh-badge-level3.svg)](https://slsa.dev/spec/v1.0/levels) [![Apache 2.0 许可证徽章](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![在 Bluesky 上关注我们](https://img.shields.io/static/v1?label=Bluesky&message=Follow&color=1DA1F2)](https://bsky.app/profile/kadras.bsky.social) 一个用于 [Dependency Track](https://dependencytrack.org) 的 Carvel package,这是一个用于管理软件供应链安全风险的持续 SBOM 分析平台。 ## 🚀  快速入门 ### 前置条件 * Kubernetes 1.33+ * Carvel [`kctrl`](https://carvel.dev/kapp-controller/docs/latest/install/#installing-kapp-controller-cli-kctrl) CLI。 * 部署在 Kubernetes 集群中的 Carvel [kapp-controller](https://carvel.dev/kapp-controller)。你可以使用 Carvel [`kapp`](https://carvel.dev/kapp/docs/latest/install)(推荐选择)或 `kubectl` 进行安装。 kapp deploy -a kapp-controller -y \ -f https://github.com/carvel-dev/kapp-controller/releases/latest/download/release.yml ### 依赖项 Dependency Track 需要以下包含在 Kadras Engineering Platform 中并可从 [Kadras package repository](https://github.com/kadras-io/kadras-packages) 安装的包: * [cert-manager](https://github.com/kadras-io/package-for-cert-manager) * [Contour](https://github.com/kadras-io/package-for-contour) * [secretgen-controller](https://github.com/kadras-io/package-for-secretgen-controller) * [PostgreSQL Operator](https://github.com/kadras-io/package-for-postgresql-operator)。 ### 安装 将 Kadras [package repository](https://github.com/kadras-io/kadras-packages) 添加到你的 Kubernetes 集群: ``` kctrl package repository add -r kadras-packages \ --url ghcr.io/kadras-io/kadras-packages \ -n kadras-system --create-namespace ```
不使用 package repository 安装 安装 Dependency Track 包的推荐方式是通过 Kadras package repository。如果你不想使用该 repository,可以使用 kapp 或 `kubectl` 直接添加包定义。 ``` kubectl create namespace kadras-system kapp deploy -a dependency-track-package -n kadras-system -y \ -f https://github.com/kadras-io/package-for-dependency-track/releases/latest/download/metadata.yml \ -f https://github.com/kadras-io/package-for-dependency-track/releases/latest/download/package.yml ```
安装 Dependency Track 包: ``` kctrl package install -i dependency-track \ -p dependency-track.packages.kadras.io \ -v ${VERSION} \ -n kadras-system ``` 验证已安装的包及其状态: ``` kctrl package installed list -n kadras-system ``` ## 📙  文档 关于此包的文档、教程和示例可在 [docs](docs) 文件夹中找到。 有关 Dependency Track 的具体文档,请查看 [dependencytrack.org](https://docs.dependencytrack.org/)。 ## 🎯  配置 Dependency Track 包可以通过 `values.yml` 文件进行自定义。 ``` domain_name: "dependency-track.kadras.io" ingress_issuer: "kadras-ca-issuer" postgresql: instances: 3 ``` 在安装或升级包时,通过 `kctrl` 命令引用 `values.yml` 文件。 ``` kctrl package install -i dependency-track \ -p dependency-track.packages.kadras.io \ -v ${VERSION} \ -n kadras-system \ --values-file values.yml ``` ### 值 Dependency Track 包具有以下可配置属性。
可配置属性 | 配置 | 默认值 | 描述 | |-------|-------------------|-------------| | `system_requirement_check` | `true` | Dependency Track 是否在启动时检查内存和 CPU 需求。 | | `domain_name` | `""` | Dependency Track 的域名。它必须是一个有效的 DNS 名称。 | | `ingress_issuer` | `""` | 对用于在 Dependency Track 中启用 TLS 的 ClusterIssuer 的引用。 | API Server 组件的设置。 | 配置 | 默认值 | 描述 | |-------|-------------------|-------------| | `api_server.logging.level` | `info` | 日志详细级别。选项:`trace`、`debug`、`info`、`warn`、`error`。 | | `api_server.logging.format` | `console` | 日志编码格式。选项:`console`、`json`。 | | `api_server.metrics.enabled` | `true` | 是否启用 Prometheus 指标生成。 | | `api_server.resources.requests.cpu` | `0.5` | API Server 组件的 CPU 请求配置。 | | `api_server.resources.requests.memory` | `5Gi` | API Server 组件的内存请求配置。 | | `api_server.resources.limits.cpu` | `4` | API Server 组件的 CPU 限制配置。 | | `api_server.resources.limits.memory` | `5Gi` | API Server 组件的内存限制配置。 | | `api_server.storage.class_name` | `""` | 要创建的 PersistenceVolume 的类名。 | | `api_server.storage.size` | `1Gi` | 要创建的 PersistenceVolume 的大小。 | Frontend 组件的设置。 | 配置 | 默认值 | 描述 | |-------|-------------------|-------------| | `frontend.replicas` | `1` | Frontend 副本的数量。为了启用高可用性,它应该大于 1。 | | `frontend.resources.requests.cpu` | `150m` | Frontend 组件的 CPU 请求配置。 | | `frontend.resources.requests.memory` | `64Mi` | Frontend 组件的内存请求配置。 | | `frontend.resources.limits.cpu` | `500m` | Frontend 组件的 CPU 限制配置。 | | `frontend.resources.limits.memory` | `128Mi` | Frontend 组件的内存限制配置。 | 企业代理的设置。 | 配置 | 默认值 | 描述 | |-------|-------------------|-------------| | `proxy.https_proxy` | `""` | 用于网络流量的 HTTPS 代理。 | | `proxy.http_proxy` | `""` | 用于网络流量的 HTTP 代理。 | | `proxy.no_proxy` | `""` | 以逗号分隔的主机名、IP 地址或 CIDR 格式的 IP 范围列表,这些不应使用代理。 | PostgreSQL 数据库的设置。 | 配置 | 默认值 | 描述 | |-------|-------------------|-------------| | `postgresql.instances` | `1` | PostgreSQL 数据库集群的实例数。生产环境场景建议至少定义 3 个。 | | `postgresql.metrics.enabled` | `true` | 是否启用 Prometheus 指标生成。 | | `postgresql.storage.size` | `1Gi` | 为每个 PostgreSQL 实例创建的 PersistenceVolume 的大小。 |
## 🛡️  安全 报告漏洞的安全流程在 [SECURITY.md](SECURITY.md) 中进行了描述。 ## 🖊️  许可证 本项目基于 **Apache License 2.0** 授权。有关更多信息,请参阅 [LICENSE](LICENSE)。
标签:Carvel, DevSecOps, GPT, kapp-controller, Kubernetes包管理, OWASP Dependency Track, PostgreSQL, SBOM分析, SLSA, Svelte, Web截图, 上游代理, 子域名突变, 容器安全, 开源安全工具, 持续安全, 测试用例, 漏洞管理, 跌倒检测, 软件物料清单, 逆向工程平台