Skip to content

Commit 79e9d3d

Browse files
authored
Merge pull request #2095 from DependencyTrack/docs-tweaks
Docs tweaks
2 parents c22ce33 + fa7488c commit 79e9d3d

File tree

14 files changed

+35
-33
lines changed

14 files changed

+35
-33
lines changed

docs/architecture/design/notifications.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ Notifications that have no matching rules are discarded immediately.
7272

7373
The outbox relay is a background process that continuously polls the `NOTIFICATION_OUTBOX` table,
7474
routes notifications to matching rules, and schedules publishing workflows.
75-
The polling interval is configurable via [`notification.outbox-relay.poll-interval-ms`](../../reference/configuration/api-server.md#notificationoutbox-relaypoll-interval-ms),
75+
The polling interval is configurable via [`dt.notification.outbox-relay.poll-interval-ms`](../../reference/configuration/api-server.md#dtnotificationoutbox-relaypoll-interval-ms),
7676
and defaults to 1 second.
7777

7878
```mermaid
@@ -103,7 +103,7 @@ sequenceDiagram
103103
Transaction-level [advisory locks] prevent concurrent relay cycles across multiple API server instances.
104104
This ensures notifications are relayed in approximately the order they were emitted.
105105
The lack of concurrency is offset by batch processing. The batch size is configurable
106-
via [`notification.outbox-relay.batch-size`](../../reference/configuration/api-server.md#notificationoutbox-relaybatch-size)
106+
via [`dt.notification.outbox-relay.batch-size`](../../reference/configuration/api-server.md#dtnotificationoutbox-relaybatch-size)
107107
and defaults to 100.
108108

109109
### Routing

docs/getting-started/changes-over-v4.md

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,19 @@
22

33
<!-- TODO: Add more! -->
44

5-
* New *powerful [CEL]-based policy engine*, providing more flexibility while being more efficient
6-
than the engine shipped with v4. <!-- TODO: Link to policy docs when ready! -->
7-
* Ability to automatically audit vulnerabilities across the entire portfolio using [CEL] expressions. <!-- TODO: Link to docs when ready! -->
8-
* Hash-based *integrity analysis* for components. <!-- TODO: Link to integrity analysis docs when ready! -->
9-
* The API server now supports *high availability (HA) deployments* in active-active configuration.
10-
* *Zero downtime deployments* when running API server in HA configuration.
11-
* *Greatly reduced resource footprint* of the API server.
5+
* *Designed for high availability*. Horizontal scalability, distributed work queues, and the option to separate
6+
web and worker nodes. No single point of failure, and no additional infrastructure requirements outside the
7+
PostgreSQL database you already have.
8+
* *Resiliency as a first-class citizen*. Durable execution guarantees that background work such as BOM processing,
9+
vulnerability analysis, and notifications completes even through node restarts and crashes.
10+
* *New powerful [CEL]-based policy engine*, providing more flexibility while being more efficient
11+
than the engine shipped with v4. Policies can be complex, don't let rigid UI conditions limit you.
12+
* *Automatic portfolio-wide vulnerability analysis*. Leverage the new policy engine to audit
13+
and suppress vulnerabilities before they surface in the UI or trigger notifications.
14+
* *Component integrity verification*. Detect components whose hashes don't match what's published in package
15+
repositories.
16+
* *Centralized secrets management*. Manage credentials for integrations securely in one place.
17+
* *Reduced resource footprint*.
1218

1319
## Architecture / Operations
1420

docs/index.md

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,18 @@
55

66
## Introduction
77

8-
Project *Hyades*, named after [the star cluster closest to earth], is an *incubating* project for decoupling
9-
responsibilities from [Dependency-Track]'s monolithic API server into separate, scalable™ services.
8+
Project *Hyades*, named after [the star cluster closest to earth], is the next generation of Dependency-Track,
9+
rearchitected for scale, resilience, and ease of operation.
1010

1111
The main objectives of Hyades are:
1212

13-
* Enable Dependency-Track to handle portfolios spanning *hundreds of thousands of projects*
14-
* Improve *resilience* of Dependency-Track, providing *more confidence* when relying on it in critical workflows
15-
* Improve deployment and configuration management experience for containerized / cloud native tech stacks
13+
* Enable Dependency-Track to handle portfolios spanning *hundreds of thousands of projects*.
14+
* Improve *resilience* of Dependency-Track, providing *more confidence* when relying on it in critical workflows.
15+
* Improve deployment and configuration management experience for containerized / cloud native tech stacks.
1616

17-
Other than separating responsibilities, the API server has been modified to allow for high availability
18-
(active-active) deployments. Various "hot paths", like processing of uploaded BOMs, have been optimized
19-
in the existing code. Further optimization is an ongoing effort.
20-
21-
Hyades already is a *superset* of Dependency-Track, as changes up to Dependency-Track v4.11.4 were ported,
22-
and features made possible by the new architecture have been implemented on top.
17+
To achieve this, the platform has undergone significant architectural improvements, including [durable execution]
18+
for reliable background processing, a PostgreSQL-optimized persistence layer, a [new CEL-based policy engine],
19+
and a modernized [configuration system].
2320

2421
!!! warning
2522
Hyades is not yet fully production ready, please refer to the
@@ -34,7 +31,7 @@ and features made possible by the new architecture have been implemented on top.
3431
??? abstract "tl;dr"
3532
The architecture of Dependency-Track v4 prevents it from scaling past a certain workload.
3633

37-
Dependency-Track, for the most part, is an event-based system. As a platform for ingesting data (in the form of BOMs),
34+
Dependency-Track v4, for the most part, is an event-based system. As a platform for ingesting data (in the form of BOMs),
3835
listening for and itself emitting signals on it, an event-based architecture makes sense conceptually. The majority of
3936
operations Dependency-Track performs happen asynchronously, without client interaction.
4037

@@ -100,8 +97,6 @@ While this architecture works great for small to medium workloads, it presents v
10097
would be an even bigger problem if the work was shared across multiple application instances, and would require
10198
distributed locking as a countermeasure, which is [inherently hard to get right](https://martin.kleppmann.com/2016/02/08/how-to-do-distributed-locking.html).
10299

103-
In order to scale Dependency-Track beyond its current capabilities, a distributed messaging service is required.
104-
105100
### Related Issues
106101

107102
On multiple occasions in the past, the Dependency-Track community raised questions about high availability (HA)
@@ -112,9 +107,10 @@ deployments, and / or how to better scale the platform:
112107
* <https://github.com/DependencyTrack/dependency-track/issues/1210>
113108
* <https://github.com/DependencyTrack/dependency-track/issues/1856>
114109

115-
[the star cluster closest to earth]: https://en.wikipedia.org/wiki/Hyades_(star_cluster)
116-
[Apache Kafka]: https://kafka.apache.org/
117110
[Changes over v4]: getting-started/changes-over-v4.md
118111
[Dependency-Track]: https://dependencytrack.org/
119112
[Migrating from v4]: getting-started/migrating-from-v4.md
120-
[Redpanda]: https://redpanda.com/
113+
[configuration system]: operations/configuration/overview.md
114+
[durable execution]: architecture/design/durable-execution.md
115+
[new CEL-based policy engine]: usage/policy-compliance/expressions.md
116+
[the star cluster closest to earth]: https://en.wikipedia.org/wiki/Hyades_(star_cluster)

docs/operations/configuration/datasources.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ as well as the vast majority of background processing.
2121

2222
Certain features of Dependency-Track can be configured to use
2323
a different data source than `default`. For example, the
24-
[*database* secret management provider](../../usage/secret-management/providers.md#database).
24+
[*database* secret management provider](../../operations/secret-management/providers.md#database).
2525
Instead of database connection details, they accept a *data source name*, e.g. via
2626
[`dt.secret-management.database.datasource.name`](../../reference/configuration/api-server.md#dtsecret-managementdatabasedatasourcename).
2727

docs/operations/scaling.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -201,8 +201,8 @@ Decrease `poll-interval-ms` for lower notification latency.
201201

202202
Configuration:
203203

204-
- [`notification.outbox-relay.poll-interval-ms`](../reference/configuration/api-server.md#notificationoutbox-relaypoll-interval-ms)
205-
- [`notification.outbox-relay.batch-size`](../reference/configuration/api-server.md#notificationoutbox-relaybatch-size)
204+
- [`notification.outbox-relay.poll-interval-ms`](../reference/configuration/api-server.md#dtnotificationoutbox-relaypoll-interval-ms)
205+
- [`notification.outbox-relay.batch-size`](../reference/configuration/api-server.md#dtnotificationoutbox-relaybatch-size)
206206

207207
## Separate Database for Dex
208208

docs/usage/secret-management/images/create-secret.png renamed to docs/operations/secret-management/images/create-secret.png

File renamed without changes.

docs/usage/secret-management/images/delete-secret.png renamed to docs/operations/secret-management/images/delete-secret.png

File renamed without changes.

docs/usage/secret-management/images/secret-management-overview.png renamed to docs/operations/secret-management/images/secret-management-overview.png

File renamed without changes.

docs/usage/secret-management/images/update-secret.png renamed to docs/operations/secret-management/images/update-secret.png

File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)