Pub/Sub topic where replay is required
errorpubsub-replay-required
The design declares that consumers must be able to replay history. A fan-out topic that does not retain messages cannot deliver that.
- Severity
- error
- Selects
- every node of kind pubsub-topic
- Components in scope
- 13
It looks at every node of kind pubsub-topic, and fires when:
- — all of these hold:
- — the design requirement `messaging.replay` is true
- — the node's `replay` is false
Topic '{{node.id}}' cannot replay messages, but the design requires replay. Use a stream or a replayable queue.Reference designs whose broken twin names this rule in its header. The gate reads the same header, and fails when a rule no design trips.
# yaml-language-server: $schema=../schema/rule.schema.json # The design declares that consumers must be able to replay history, but a fan-out topic # without replay cannot deliver that. Tripped by designs/order-processing.broken.yaml. schemaVersion: "1" type: "rule" id: "pubsub-replay-required" severity: "error" select: node: kind: "pubsub-topic" when: all: - requirement: "messaging.replay" equals: true - prop: "replay" equals: false message: "Topic '{{node.id}}' cannot replay messages, but the design requires replay. Use a stream or a replayable queue."