Subcomponents
Overview
A subcomponent is a component whose lifecycle is tied to the parent component's lifecycle e.g. an output port, a workload, or a storage component. That is, a subcomponent is always deployed when also its parent component is being deployed.
The minimum set of properties to describe a subcomponent is the following one:
- name: name of the subcomponent that is unique within the parent component's scope
- kind: kind of subcomponent e.g. outputport/workload/storage
- infrastructureTemplateId: tech adapter URN which will take in charge this descriptor to deploy this subcomponent into the a target infrastructure
- consumable: refer to the Practice Shaper section
- shoppable: refer to the Practice Shaper section
The platform team can enable/disable the property mesh.builder.editAndTest.subcomponents.inheritFromParent
from the configuration file, in order to enrich subcomponent's properties with the parent's properties. This option is enabled as default. The following properties will not be inherited from the parent:
id
,
components
,
consumable
,
shoppable
,
name
,
infrastructureTemplateId
,
kind
,
dependsOn
.
From the data consumer and data producer points of view:
- In the Builder, subcomponents are not visible in the catalog. However, they are visible in the generated descriptor of the data product where it belongs, in the
Edit and test
window and in thecatalog-info
of the parent component when inspecting the entity. - In the Marketplace, subcomponents are visible only if they are marked as consumable