Skip to main content

ADR 013: Use cloudevents Standard for Bus based Configuration Communication

Date: 2025-09-17

Status: Accepted

Decision Makers: @mhoffmann @luckey @DerLinne

Context

For unified communication of configuration settings over the message bus, a standardized message format is used. Since we expect many different configuration messages, it is not important that many specific messages are already defined, but rather that the standard flexibly supports different payloads.

Checked Architecture Principles

  • [full] Model-centric data flow
  • [full] Distributed architecture with unified user experience
  • [full] Modular design
  • [full] Integration capability through defined interfaces
  • [full] Open source as the default
  • [full] Cloud-native architecture
  • [full] Prefer standard solutions over custom development
  • [full, partial, none] Self-contained deployment not relevant
  • [full] Technological consistency to ensure maintainability
  • [full] Multi-tenancy - [full, partial, none] Security by design Not relevant

(if partial, then this topic should be commented)

Decision

We use CloudEvents (https://cloudevents.io) as the envelope for configuration events. The message types are defined specifically in the context of the platform.

Consequences

By using the standard, we have many possibilities for standardized communication across several transport protocols. In particular, when using Kafka, CloudEvents provide the option to use the envelope as a header, enabling routing based on the event type.

Alternatives

  • AsyncAPI: No standardized Metadata definition
  • AMQP: No envelope exists

See also