Settings
Marketplace settings
As outlined in the Creating a Data Contract guide, the definition of a data contract can include specific data contract settings. These settings are primarily used by the Witboost Marketplace to render the data contract and visually indicate certain properties.
For example, in the Data Contract Graph:
- DATA_AT_REST ingestion mode is represented by a continuous line entering the data contract
- PUSH ingestion mode is depicted as a moving, dotted line, indicating an active, real-time data flow into the contract
This visual distinction helps users quickly understand how data is ingested by each data contract in the graph.
For a complete list of data contract settings and expected values, refer to the User Manual.
By default, the Witboost Marketplace expects data contract settings to be located under dataContract.settings
in the data contract descriptor. However, you can specify alternative paths via configuration mesh.marketplace.ui.dataContracts.settings
in the Core module configuration file. Refer to the configurations reference page (Witboost Marketplace section) for further details.
It’s highly recommended to implement a deploy-time governance policy to verify the data contract settings within a descriptor. For instance, if the ingestion mode is expected under a custom path, like mySettingField.ingestionMode
, a governance policy can validate:
- the presence of the property in the descriptor
- whether its value aligns with the accepted values for ingestion modes
To get started, you can customize a CUE script like the following, which can be used to validate the default settings in data contract descriptors:
# Define the allowed values for `ingestionMode` and `onBrokenContract`.
allowedIngestionMode: *"DATA_AT_REST" | "PUSH"
allowedOnBrokenContract: *"RED_FLAG" | "CIRCUIT_BREAK"
dataContract?: {
settings?: {
ingestionMode?: allowedIngestionMode
onBrokenContract?: allowedOnBrokenContract
description?: string
}
}