Descriptors
Overview
The Edit and Test section on the Builder page of a system instance renders a project descriptor in YAML format, which provides a comprehensive overview of the system properties and those of its components. This descriptor serves as a common language across various Witboost modules, including computational governance platform, provisioning module, and marketplace.
The primary joint goal of Practice Shaper and Builder module is to build project descriptors that adhere to all the constraints and rules of a specific data landscape.
In Witboost, the term project or data project refers to a system instance and all its components
How the descriptor is built
The generation of a project descriptor starts by retrieving properties and relations of the related system instance.
All attributes under spec.mesh
become root-level attributes in the final descriptor. Other fields are populated as follows:
Property in the final descriptor | Gets filled with... |
---|---|
projectOwner | value of spec.mesh.projectOwner , or alternatively (if not defined) spec.mesh.dataProductOwner |
projectOwnerDisplayName | display name of the owner defined under projectOwner |
environment | environment in which the description generation as been requested |
domain | name of the domain under spec.domain |
domainId | URN of the domain under spec.domain |
projectKind | string "system" |
id | URN of the system |
description | value of metadata.description |
devGroup | name of the group defined under spec.mesh.developmentGroup or (if not defined) under spec.owner |
ownerGroup | name of the user or group defined under spec.mesh.projectOwner or (if not defined) under spec.mesh.dataProductOwner |
shoppable | value of spec.mesh.shoppable or false if not defined |
kind | value of the spec.resourceTypeId property of the system type this system is instance of |
taxonomy.id | URN of the data landscape the system instance belongs to |
taxonomy.name | Name of the data landscape the system instance belongs to |
Field components
is filled with the list of descriptors (see section below) of component instances having a partOf
relation with the system.
Component descriptor
Given a component instance: all its attributes under spec.mesh
become root-level attributes in the component descriptor. Other fields are populated as follows:
Property in the final descriptor | Gets filled with... |
---|---|
id | URN of the component |
kind | value of the spec.resourceTypeId property of the component type this component is instance of |
description | value of metadata.description |
shoppable | value of spec.mesh.shoppable or false if not defined |
consumable | value of spec.mesh.consumable or false if not defined |
Field components
is filled with the descriptors of the component's subcomponents. More on this in the subcomponents section.