From c399420f1a2970083ff5e241f68eafa1e5236f07 Mon Sep 17 00:00:00 2001 From: devGregA Date: Wed, 12 Aug 2026 10:21:45 -0600 Subject: [PATCH 1/2] docs: where to find Asset kinds and aliases in the UI (asset model Phase 4) The identity concepts landed in #15633 while the surfaces were still API-only, so the page said kinds were "available on the Asset itself" without saying where. Both halves now have a UI, and this says which control does what: * Kind is set on the Asset add/edit forms, and shows as a badge beside the Asset name and as an icon on Asset Hierarchy nodes (with the label available from the view's field picker). * The Asset Identity card on the Asset page lists every identifier resolving to the Asset with its provenance, and adds or withdraws them. Namespace is picked before type because only some pairings mean anything, Connector namespaces are not offered because they belong to their sync, and withdrawing a Connector-asserted alias only lasts until its next run. Also notes that `kind` is on `/api/v2/products/` as well as `/api/v2/assets/`, and that DD_V3_ASSET_ALIASES gates the card and the Kind field, not just alias creation. --- .../engagements_tests/PRO__assets.md | 34 ++++++++++++++++--- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/docs/content/asset_modelling/engagements_tests/PRO__assets.md b/docs/content/asset_modelling/engagements_tests/PRO__assets.md index f200be364b..c2984e678e 100644 --- a/docs/content/asset_modelling/engagements_tests/PRO__assets.md +++ b/docs/content/asset_modelling/engagements_tests/PRO__assets.md @@ -187,8 +187,15 @@ The list of kinds is data, not a fixed set. The kinds DefectDojo ships are marke kinds and cannot be deleted, but their wording and icons can be changed, and you can add your own kinds for anything your inventory contains that the shipped list does not cover. -Kinds are available on the Asset itself and through the API at `/api/v2/asset_kinds/` -(read-only) and as the `kind` field on `/api/v2/assets/`. +Set an Asset's kind with the **Kind** field on the Asset's add and edit forms; leave it empty to +leave the Asset unclassified. Once set, the kind appears as a badge with its icon beside the +Asset's name at the top of the Asset page, and as an icon in front of each node's name in the +**Asset Hierarchy** view — where it tells you at a glance whether you are looking at a +repository, the service built from it, or the host it runs on. The hierarchy view's field picker +(the eye control, top left) can also show the kind's label under each node's name. + +Kinds are available through the API at `/api/v2/asset_kinds/` (read-only) and as the `kind` +field on `/api/v2/assets/` and `/api/v2/products/`. ## Asset Identity: Aliases @@ -220,8 +227,27 @@ Connector-issued aliases are written by Connector sync rather than by hand, so t writes to a `connector:` namespace. Everything else is yours to declare, through `/api/v2/asset_aliases/`. -Aliases require `DD_V3_ASSET_ALIASES` to be enabled before they can be created; existing ones -stay readable whether it is on or off. +### Managing aliases from the Asset page + +The **Asset Identity** card on the Asset page lists every identifier that resolves to that +Asset, with its type, its namespace, and where it came from — a Connector's name for the ones +its sync asserted, or *User* for the ones you added. + +Use **Add Identity** to declare one. You pick the namespace first, then the type, because only +some pairings mean anything: a hostname belongs in `dns`, an image digest in `oci`. The +namespaces offered are the shared, semantic ones; a Connector's own namespace is not offered, +because those belong to its sync. + +Removing an alias **withdraws** it rather than editing it. Withdrawing one you added means +sources that knew the Asset by that identifier fall back to matching it by name. Withdrawing +one a Connector asserted only lasts until that Connector's next sync, which will assert it +again — to stop a Connector claiming an Asset, change its mapping rather than its aliases. + +Adding and withdrawing an alias requires edit permission on the Asset. + +Aliases require `DD_V3_ASSET_ALIASES` to be enabled before they can be created, and the Asset +Identity card and the **Kind** field appear only when it is on; existing aliases stay readable +whether it is on or off. ## Asset Nesting From b6aa892548768e17e9759d5bf7a13e6a6d4ac4b6 Mon Sep 17 00:00:00 2001 From: devGregA Date: Thu, 13 Aug 2026 23:39:03 -0600 Subject: [PATCH 2/2] docs: Asset Types, not Asset Kinds MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The asset classification registry is named AssetType, so the docs say Type: the "Asset Kinds" section, the Kind field on the add/edit forms, the hierarchy view's field picker, and the API surface (/api/v2/asset_types/, the asset_type field on /api/v2/assets/ and /api/v2/products/). This amends the UI walkthrough this PR already carried rather than shipping "Kind" wording and renaming it a week later, and it also updates the section merged earlier so the page is consistent end to end. The corresponding Pro change renames the model, its table, both API routes and the payload keys outright — no compatibility shims, because the feature is behind a default-off flag and has not shipped yet. Co-Authored-By: Claude Opus 5 --- .../engagements_tests/PRO__assets.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/content/asset_modelling/engagements_tests/PRO__assets.md b/docs/content/asset_modelling/engagements_tests/PRO__assets.md index c2984e678e..422b28058c 100644 --- a/docs/content/asset_modelling/engagements_tests/PRO__assets.md +++ b/docs/content/asset_modelling/engagements_tests/PRO__assets.md @@ -174,28 +174,28 @@ Because Findings inherit risk, priority, and ownership from their parent Asset, Importantly, Assets are also the primary determining factor in a Finding’s SLA characteristics. Therefore, the SLA of a Findings depends on the SLA configuration of its parent Asset. More information about SLA configurations can be found [here](/asset_modelling/pro_hierarchy/priority_sla/#working-with-slas). -## Asset Kinds +## Asset Types -An Asset can declare what kind of thing it is: a repository, a service, a host, a domain, a -container image, a package, a cloud account, a device, or a branch. The kind is optional — +An Asset can declare what sort of thing it is: a repository, a service, a host, a domain, a +container image, a package, a cloud account, a device, or a branch. The type is optional — an Asset without one behaves exactly as it always has — and it is descriptive rather than functional: it does not change permissions, deduplication, SLAs, or reporting scope. What it does is make a long Asset list readable, by giving each Asset an icon and a label that says what you are looking at. -The list of kinds is data, not a fixed set. The kinds DefectDojo ships are marked as system -kinds and cannot be deleted, but their wording and icons can be changed, and you can add your -own kinds for anything your inventory contains that the shipped list does not cover. +The list of types is data, not a fixed set. The types DefectDojo ships are marked as system +types and cannot be deleted, but their wording and icons can be changed, and you can add your +own types for anything your inventory contains that the shipped list does not cover. -Set an Asset's kind with the **Kind** field on the Asset's add and edit forms; leave it empty to -leave the Asset unclassified. Once set, the kind appears as a badge with its icon beside the +Set an Asset's type with the **Type** field on the Asset's add and edit forms; leave it empty to +leave the Asset unclassified. Once set, the type appears as a badge with its icon beside the Asset's name at the top of the Asset page, and as an icon in front of each node's name in the **Asset Hierarchy** view — where it tells you at a glance whether you are looking at a repository, the service built from it, or the host it runs on. The hierarchy view's field picker -(the eye control, top left) can also show the kind's label under each node's name. +(the eye control, top left) can also show the type's label under each node's name. -Kinds are available through the API at `/api/v2/asset_kinds/` (read-only) and as the `kind` -field on `/api/v2/assets/` and `/api/v2/products/`. +Asset types are available through the API at `/api/v2/asset_types/` (read-only) and as the +`asset_type` field on `/api/v2/assets/` and `/api/v2/products/`. ## Asset Identity: Aliases @@ -246,7 +246,7 @@ again — to stop a Connector claiming an Asset, change its mapping rather than Adding and withdrawing an alias requires edit permission on the Asset. Aliases require `DD_V3_ASSET_ALIASES` to be enabled before they can be created, and the Asset -Identity card and the **Kind** field appear only when it is on; existing aliases stay readable +Identity card and the **Type** field appear only when it is on; existing aliases stay readable whether it is on or off. ## Asset Nesting