kadras-io/package-for-dependency-track
GitHub: kadras-io/package-for-dependency-track
基于 Carvel 工具链封装的 OWASP Dependency Track Kubernetes 部署包,简化软件供应链安全平台的落地流程。
Stars: 0 | Forks: 0
# Dependency Track


[](https://slsa.dev/spec/v1.0/levels)
[](https://opensource.org/licenses/Apache-2.0)
[](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
```
安装 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 包具有以下可配置属性。
## 🛡️ 安全
报告漏洞的安全流程在 [SECURITY.md](SECURITY.md) 中进行了描述。
## 🖊️ 许可证
本项目基于 **Apache License 2.0** 授权。有关更多信息,请参阅 [LICENSE](LICENSE)。
不使用 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
```
可配置属性
| 配置 | 默认值 | 描述 | |-------|-------------------|-------------| | `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 的大小。 |标签:Carvel, DevSecOps, GPT, kapp-controller, Kubernetes包管理, OWASP Dependency Track, PostgreSQL, SBOM分析, SLSA, Svelte, Web截图, 上游代理, 子域名突变, 容器安全, 开源安全工具, 持续安全, 测试用例, 漏洞管理, 跌倒检测, 软件物料清单, 逆向工程平台