Descriptor Generation
As mentioned by the Control Plane documentation, every Witboost project has a descriptor, which is a YAML file that contains all the metadata and configuration of the project and its components. The descriptor is generated by the Control Plane and it is passed down to Tech Adapters and Data Catalog plugins during the provisioning process and finally published into the Marketplace as versioned artifact.
The descriptor is generated by the Control Plane based on a combination of:
- The main
catalog-info.yamlfile of the System Type instance of the project, e.g. for the Data Mesh landscape, thecatalog-info.yamlof the Data Product System Type instance - The
catalog-info.yamlfiles of all the Components Types instances linked to the System Type instance of the project, e.g. for the Data Mesh landscape, thecatalog-info.yamlof the Data Product's Output Ports/Workloads/Storages etc. - The
projectOwner(ordataProductOwner, orowner) declared in the project’scatalog-info.yamlfile
When you enable Team Roles for a System Type, the Control Plane will no longer use the projectOwner (or dataProductOwner, or owner) declared in the project’s catalog-info.yaml file as the source of truth for the project ownership, but it will also look at the Team Roles configuration of the project and at the users assigned to the owner role.
If someone is set as full assignee of the Owner team role, they will be added as projectOwner in the descriptor. If no one is assigned to the Owner team role, the descriptor will contain the projectOwner declared in the catalog-info.yaml file, if present.
Implications on Tech Adapters and external integrations
When Team Roles is enabled for a given System Type, there are important implications for Tech Adapters and Data Catalog integrations.
Descriptor ownership may become outdated
The latest published version of a project descriptor in the Marketplace or in a Data Catalog may not reflect the actual project ownership. This may happen in the following cases:
- The project was onboarded in Team Roles after the last descriptor publication.
- The project ownership was changed in the Team Roles panel after the last descriptor publication.
In such scenarios the projectOwner field in the descriptor is based on the last published version but if that version is outdated, the descriptor will not reflect the current owner. As a result, the published metadata may be inconsistent with the actual Team Roles configuration.
To realign the descriptor with the actual ownership a new release of the project must be created and published. This way Witboost will deploy the updated version of the descriptor with the correct projectOwner and external systems will be updated accordingly.
Re-publishing the project does not necessarily imply a re-creation of infrastructure resources. Whether infrastructure is affected depends on the specific Tech Adapter or Data Catalog integration implementation.