|
| 1 | +<!-- |
| 2 | +SPDX-FileCopyrightText: the secureCodeBox authors |
| 3 | +
|
| 4 | +SPDX-License-Identifier: Apache-2.0 |
| 5 | +--> |
| 6 | +<!-- |
| 7 | +.: IMPORTANT! :. |
| 8 | +-------------------------- |
| 9 | +This file is generated automatically with `helm-docs` based on the following template files: |
| 10 | +- ./.helm-docs/templates.gotmpl (general template data for all charts) |
| 11 | +- ./chart-folder/.helm-docs.gotmpl (chart specific template data) |
| 12 | +
|
| 13 | +Please be aware of that and apply your changes only within those template files instead of this file. |
| 14 | +Otherwise your changes will be reverted/overwritten automatically due to the build process `./.github/workflows/helm-docs.yaml` |
| 15 | +-------------------------- |
| 16 | +--> |
| 17 | + |
| 18 | +<p align="center"> |
| 19 | + <a href="https://opensource.org/licenses/Apache-2.0"><img alt="License Apache-2.0" src="https://img.shields.io/badge/License-Apache%202.0-blue.svg"/></a> |
| 20 | + <a href="https://github.com/secureCodeBox/secureCodeBox/releases/latest"><img alt="GitHub release (latest SemVer)" src="https://img.shields.io/github/v/release/secureCodeBox/secureCodeBox?sort=semver"/></a> |
| 21 | + <a href="https://owasp.org/www-project-securecodebox/"><img alt="OWASP Lab Project" src="https://img.shields.io/badge/OWASP-Lab%20Project-yellow"/></a> |
| 22 | + <a href="https://artifacthub.io/packages/search?repo=securecodebox"><img alt="Artifact HUB" src="https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/securecodebox"/></a> |
| 23 | + <a href="https://github.com/secureCodeBox/secureCodeBox/"><img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/secureCodeBox/secureCodeBox?logo=GitHub"/></a> |
| 24 | + <a href="https://twitter.com/securecodebox"><img alt="Twitter Follower" src="https://img.shields.io/twitter/follow/securecodebox?style=flat&color=blue&logo=twitter"/></a> |
| 25 | +</p> |
| 26 | + |
| 27 | +## What is OWASP secureCodeBox? |
| 28 | + |
| 29 | +<p align="center"> |
| 30 | + <img alt="secureCodeBox Logo" src="https://www.securecodebox.io/img/Logo_Color.svg" width="250px"/> |
| 31 | +</p> |
| 32 | + |
| 33 | +_[OWASP secureCodeBox][scb-github]_ is an automated and scalable open source solution that can be used to integrate various *security vulnerability scanners* with a simple and lightweight interface. The _secureCodeBox_ mission is to support *DevSecOps* Teams to make it easy to automate security vulnerability testing in different scenarios. |
| 34 | + |
| 35 | +With the _secureCodeBox_ we provide a toolchain for continuous scanning of applications to find the low-hanging fruit issues early in the development process and free the resources of the penetration tester to concentrate on the major security issues. |
| 36 | + |
| 37 | +The secureCodeBox project is running on [Kubernetes](https://kubernetes.io/). To install it you need [Helm](https://helm.sh), a package manager for Kubernetes. It is also possible to start the different integrated security vulnerability scanners based on a docker infrastructure. |
| 38 | + |
| 39 | +### Quickstart with secureCodeBox on Kubernetes |
| 40 | + |
| 41 | +You can find resources to help you get started on our [documentation website](https://www.securecodebox.io) including instruction on how to [install the secureCodeBox project](https://www.securecodebox.io/docs/getting-started/installation) and guides to help you [run your first scans](https://www.securecodebox.io/docs/getting-started/first-scans) with it. |
| 42 | + |
| 43 | +## What is "Persistence Dependency-Track" Hook about? |
| 44 | +The Dependency-Track persistenceProvider hook saves all generated CycloneDX SBOMs into the configured [OWASP Dependency-Track][dependencytrack.org] instance, other findings or SPDX SBOMs cannot be handled and are ignored. |
| 45 | +This allows automatically cataloging infrastructure to gain an overview over the used components and dependencies. |
| 46 | +To learn more about Dependency-Track visit [dependencytrack.org]. |
| 47 | + |
| 48 | +To use the _secureCodeBox_ to generate SBOMs, you can use the [Trivy-SBOM scanner][trivy-sbom]. |
| 49 | + |
| 50 | +## Deployment |
| 51 | +The persistence-dependencytrack chart can be deployed via helm: |
| 52 | + |
| 53 | +```bash |
| 54 | +# Install HelmChart (use -n to configure another namespace) |
| 55 | +helm upgrade --install persistence-dependencytrack secureCodeBox/persistence-dependencytrack |
| 56 | +``` |
| 57 | + |
| 58 | +## Requirements |
| 59 | + |
| 60 | +Kubernetes: `>=v1.11.0-0` |
| 61 | + |
| 62 | +## Additional Chart Configurations |
| 63 | + |
| 64 | +Installing the Dependency-Track persistenceProvider hook will add a _ReadOnly Hook_ to your namespace. |
| 65 | + |
| 66 | +You need to provide the API key to connect to Dependency-Track as a [Kubernetes secret][k8ssecret]. |
| 67 | +Check the [Dependency-Track documentation][dt-api-docs], to learn how to configure an API key. |
| 68 | + |
| 69 | +```bash |
| 70 | +kubectl create secret generic dependencytrack-credentials --from-literal="apikey=NoEs..." |
| 71 | + |
| 72 | +helm upgrade --install dt secureCodeBox/persistence-dependencytrack \ |
| 73 | + --set="dependencytrack.url=https://dependency-track-backend.default.svc" |
| 74 | +``` |
| 75 | + |
| 76 | +SBOMs are imported for a project in Dependency-Track. |
| 77 | +To avoid configuring all of them by hand first and assigning projects to scans somehow, the hook automatically detects name and version from the scan and then creates Dependency-Track projects if they do not exist yet. |
| 78 | +This requires either the `PORTFOLIO_MANAGEMENT` or `PROJECT_CREATION_UPLOAD` permission for the API key which gets used by the hook (or rather for the team the key is defined for). |
| 79 | + |
| 80 | +## Values |
| 81 | + |
| 82 | +| Key | Type | Default | Description | |
| 83 | +|-----|------|---------|-------------| |
| 84 | +| dependencytrack.authentication | object | `{"apiKeyKey":"apikey","userSecret":"dependencytrack-credentials"}` | Authentication information. Dependency-Track expects an API key, which can be generated for a team (see: https://docs.dependencytrack.org/integrations/rest-api/). The hook automatically creates missing projects, for that either the PORTFOLIO_MANAGEMENT or PROJECT_CREATION_UPLOAD permission is required. | |
| 85 | +| dependencytrack.authentication.apiKeyKey | string | `"apikey"` | Name of the apikey key in the `userSecret` secret. | |
| 86 | +| dependencytrack.authentication.userSecret | string | `"dependencytrack-credentials"` | Link a pre-existing generic secret with `apikey` key / value pair | |
| 87 | +| dependencytrack.url | string | `"http://dependency-track-backend.default.svc"` | Url to the Dependency-Track instance, make sure to use the backend url | |
| 88 | +| hook.affinity | object | `{}` | Optional affinity settings that control how the hook job is scheduled (see: https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/) | |
| 89 | +| hook.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | |
| 90 | +| hook.image.repository | string | `"docker.io/securecodebox/hook-persistence-dependencytrack"` | Hook image repository | |
| 91 | +| hook.image.tag | string | defaults to the charts version | Container image tag | |
| 92 | +| hook.labels | object | `{}` | Add Kubernetes Labels to the hook definition | |
| 93 | +| hook.priority | int | `0` | Hook priority. Higher priority Hooks are guaranteed to execute before low priority Hooks. | |
| 94 | +| hook.resources | object | { requests: { cpu: "200m", memory: "100Mi" }, limits: { cpu: "400m", memory: "200Mi" } } | Optional resources lets you control resource limits and requests for the hook container. See https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ | |
| 95 | +| hook.tolerations | list | `[]` | Optional tolerations settings that control how the hook job is scheduled (see: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) | |
| 96 | +| hook.ttlSecondsAfterFinished | string | `nil` | Seconds after which the kubernetes job for the hook will be deleted. Requires the Kubernetes TTLAfterFinished controller: https://kubernetes.io/docs/concepts/workloads/controllers/ttlafterfinished/ | |
| 97 | +| imagePullSecrets | list | `[]` | Define imagePullSecrets when a private registry is used (see: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) | |
| 98 | + |
| 99 | +## Contributing |
| 100 | + |
| 101 | +Contributions are welcome and extremely helpful 🙌 |
| 102 | +Please have a look at [Contributing](./CONTRIBUTING.md) |
| 103 | + |
| 104 | +## Community |
| 105 | + |
| 106 | +You are welcome, please join us on... 👋 |
| 107 | + |
| 108 | +- [GitHub][scb-github] |
| 109 | +- [Slack][scb-slack] |
| 110 | +- [Twitter][scb-twitter] |
| 111 | + |
| 112 | +secureCodeBox is an official [OWASP][scb-owasp] project. |
| 113 | + |
| 114 | +## License |
| 115 | +[](https://opensource.org/licenses/Apache-2.0) |
| 116 | + |
| 117 | +Code of secureCodeBox is licensed under the [Apache License 2.0][scb-license]. |
| 118 | + |
| 119 | +[scb-owasp]: https://www.owasp.org/index.php/OWASP_secureCodeBox |
| 120 | +[scb-docs]: https://www.securecodebox.io/ |
| 121 | +[scb-site]: https://www.securecodebox.io/ |
| 122 | +[scb-github]: https://github.com/secureCodeBox/ |
| 123 | +[scb-twitter]: https://twitter.com/secureCodeBox |
| 124 | +[scb-slack]: https://join.slack.com/t/securecodebox/shared_invite/enQtNDU3MTUyOTM0NTMwLTBjOWRjNjVkNGEyMjQ0ZGMyNDdlYTQxYWQ4MzNiNGY3MDMxNThkZjJmMzY2NDRhMTk3ZWM3OWFkYmY1YzUxNTU |
| 125 | +[scb-license]: https://github.com/secureCodeBox/secureCodeBox/blob/master/LICENSE |
| 126 | +[dependencytrack.org]: https://dependencytrack.org/ |
| 127 | +[dt-api-docs]: https://docs.dependencytrack.org/integrations/rest-api/ |
| 128 | +[k8ssecret]: https://kubernetes.io/docs/concepts/configuration/secret/ |
| 129 | +[trivy-sbom]: https://www.securecodebox.io/docs/scanners/trivy-sbom |
0 commit comments