Skip to content

Add status_change topic support to EventGate #151

@oto-macenauer-absa

Description

@oto-macenauer-absa

Feature Description

Add a new status_change event topic to EventGate to support event-driven monitoring of application status changes across CPS. This will allow downstream consumers to subscribe to and process status change events published by various CPS applications.

Problem / Opportunity

Currently there is no standardised mechanism for CPS applications to broadcast their status changes in an event-driven manner. This creates gaps in observability and makes it impossible to build real-time dashboards or alerting systems that react to application state transitions.

Acceptance Criteria

  1. A new status_change topic is defined and available in EventGate.
  2. The topic schema supports a JSON payload describing the application identifier, previous state, new state, timestamp, and optional metadata.
  3. Producers can publish status_change events via the existing EventGate API.
  4. Consumers can subscribe to the status_change topic via the existing EventGate subscription mechanism.
  5. The topic is documented in the EventGate API/topic registry.

Proposed Solution

Define the status_change topic alongside existing topics, following the established topic registration pattern in EventGate. Agree on a shared JSON schema for the event payload across CPS teams (Unify, LUM, and others) before exposing it to consumers, to avoid costly schema migrations later.

Dependencies / Related

  • Phase 2: SQS consumer + aggregation lambda (absa-group/cps-eventbus-gateway)
  • Phase 3: Dashboarding app (absa-group/data-gateway)

Additional Context

Discussed across CPS teams (Unify, LUM). Agreed approach is to first consolidate on a shared schema before iterating on consumers.

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions