Event Bus — Admin

Dev Stub Auth no active subscriber
How to use this page — click to expand / collapse

Walk through the steps in order. Each one corresponds to a panel below.

  1. Config (top panel) — the defaults work as-is for dev. Pick your Product from the dropdown (CMS, COR, CJ, JURY, TC, platform). Leave Active Subscriber blank for now — you'll fill it in by registering one below. Click Save.
  2. Register a subscriber — in the Subscribers panel, type a name in New subscriber_id (any DNS-safe slug, e.g. cms-alice-demo) and click Register. This creates a real SQS queue + DLQ in AWS and writes a row to the events-subscribers DynamoDB table. The newly-registered subscriber becomes your active subscriber automatically — you'll see it in the chip at the top right.
    No subscribers exist by default. Every environment starts empty. Click Refresh list to see what you (or anyone else under the same product) has registered.
  3. (Optional) Declare subscriptions — in the Subscriptions panel, pick an event_type your subscriber wants to consume (e.g. case.opened.v1) and click Create. These rules feed the router's fan-out logic. Today the router fan-out is a Phase-2 stub, so subscriptions are stored but don't yet route messages automatically — use the Inject button below to drop messages directly on your queue for testing.
  4. Send a message — in the Send panel, edit the JSON payload, then click Inject (direct). This drops the message straight onto your active subscriber's SQS queue via POST /admin/inject, bypassing the router. It's the reliable loop-testing path. The Publish via /publish button posts through the real publish path (Kinesis); it succeeds but won't reach a subscriber queue until the router is wired up.
  5. Receive messages — in the Receive panel, click Listen. Any messages waiting in your queue appear as collapsible cards. Click Ack on a card to delete that message; click Extend +60s to push its visibility timeout out before acking.
  6. Clean up — back in the Subscribers panel, click Refresh list, then Deregister next to your subscriber. This deletes the SQS queue, cascade-deletes any subscription rows pointing at it, and removes the events-subscribers row.
    60-second cooldown. AWS won't let you re-create an SQS queue with the same name within 60 seconds of deletion. If you deregister cms-alice-demo and immediately re-register the same name, you'll see a 500. Either wait a minute or pick a different name.

Every API call you make is captured in the Activity Log at the bottom of the page with the response body. Auth is currently a dev-only stub — we read X-Product-Id and X-Subscriber-Id from headers instead of validating a JWT. Don't promote this to staging/prod without restoring real auth.

Config persisted to localStorage

Subscribers register here first; everything else needs an active subscriber

Register a new subscriber
Creates an SQS queue + DLQ in AWS and a row in events-subscribers. The new subscriber becomes the active one automatically.
List subscribers under product
subscriber_idstatequeue
Click "Refresh list" to see existing subscribers, or register one above.

Subscriptions for active subscriber

Subscriptions are routing rules (event_type → subscriber). The router phase-2 fan-out is still stubbed, so for end-to-end loop testing use the "Inject (direct)" button below.
subscription_idevent_type
Click "Refresh list".

Send a Message

Inject drops the message directly on the active subscriber's queue via POST /admin/inject (bypasses the router; reliable for loop testing).
Publish hits the real POST /publish → Kinesis → router fan-out path. For Listen to see the message, the event_type here MUST match an existing subscription under your active subscriber (see Subscriptions panel above). Mismatched event_type = silent drop at the router.
Other requirements: event_type in three-part {domain}.{aggregate}.{verb} form; schemaId must be registered in the schema-registry S3 bucket (the default urn:catalis:ns:fs8-test-event:1.0 is pre-loaded for testing).

Receive (Listen / Ack / Extend)

No messages received yet.

Activity Log