Skip to main content

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.yaml file of the System Type instance of the project, e.g. for the Data Mesh landscape, the catalog-info.yaml of the Data Product System Type instance
  • The catalog-info.yaml files of all the Components Types instances linked to the System Type instance of the project, e.g. for the Data Mesh landscape, the catalog-info.yaml of the Data Product's Output Ports/Workloads/Storages etc.
  • The projectOwner (or dataProductOwner, or owner) declared in the project’s catalog-info.yaml file

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.

note

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.