Bosch IoT Rollouts Documentation

SOUP Domain configuration

Table of contents:

Type model diagram

Types of entities are used to configure aspects of the system software update domain model, including validation rules, permissions, default values, and other settings. An entity type can be thought of as a classification. For example, a 'Module Type' classification groups modules sharing common properties, such as a model name, icon, or update behavior.

The system supports multiple types for the entities, each with its own configuration. This allows for tailoring the update behavior to specific systems and modules. This is particularly useful when managing a diverse range of modules or system compositions, as it enables configuring each type independently, ensuring appropriate behavior.

Entities existing in the Rollouts-Domain are marked by grey color.

images/confluence/download/attachments/5742086015/domain-model-version-9-modificationdate-1747054554000-api-v2.png

Type entities

Because types are part of the base setup for the Bosch IoT Rollouts System Software Update (SOUP), adding or modifying them requires administrator privileges.

Module type

Module types classify modules (devices) within a system. Besides providing default-values for new module update definitions, they control depending on the "is updatable" property, weather or not, a the module type extends a Bosch IoT Rollouts target type and thereby defines which type of distribution sets can be used for updates.

Other properties of module types include:

  • Default queries for module match and module count

  • The default metadata for the module update definition

System type

A system type aggregates information about the types of modules that can be present within such systems. System types are used to categorize and filter systems in the system list view. They can also be used to restrict access for certain user groups, allowing them to view, administer, and update only systems of a specific type.

A system's type can be estimated (by identifying the set of modules present in the system and then searching for a system type containing a matching set of module types) or reported directly by the system (e.g., with the first update report from an installed recipe, as the recipe always specifies a particular system type).

A system type can optionally reference "system-distribution-set-types," which should be added as distribution sets at the recipe level (not module-specific).

Recipe type

A recipe type links to exactly one system type, specifying the types of systems the recipe addresses. This allows verification that the recipe addresses all potential modules within those systems.

When creating a new recipe, all default information configured at the type level (e.g., the module update definitions with their match or count queries, the default metadata) is copied to the new recipe.

Possible validations include:

  • Presence or absence of distribution sets in the module-update-definitions.

  • Total size of artifacts for all updates.