SOUP Features
Preface: Modules vs. Targets
In the context of a system an updatable device is called a module. This differs from the Bosch IoT Rollouts terminology where target is used to address not only a device, but also a complete system and particular parts of a device.
System repository
System management: Manage systems consisting of a gateway and multiple updatable and non-updatable modules.
System identification: Algorithm and options on how a system is identified by a set of modules.
System lifecycle: Handle creation of systems and modifications on the set of modules within the system.
Recipe management
Recipe lifecycle: Differentiates between draft, release-candidate (limited access for testing), released and retired.
4-eyes principle: Require an additional approval for releaseing recipes.
Signatures: Detect undesired modifications of released recipes.
Recipe file: Customizable recipe transformation to a format which is understood by the system's gateway - default transformation/example:
System update management
Recipe match: Identify the latest matching recipe for a specific system.
Flexibility: Enable online and offline update scenarios.
Update history: Track the latest known state of a system including the
Compliance: Concepts to support the delivery release-notes and retrieval of user consent
Interfaces
Graphical user interface for managing systems and recipes.
HTTP/REST APIs (with Swagger documentation), in particular:
a user-facing API for managing and listing content,
a device facing API exposing recipes and software to be installed on systems.
Authentication
Bosch.IdM integration
Bosch IoT Rollouts Auth - OAuth2 clients
Bosch User Hub + Single Key ID