How to use this page — click to expand / collapse
Walk through the steps in order. Each one corresponds to a panel below.
-
Config (top panel) — the defaults work as-is for dev.
Pick your
Productfrom 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. -
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 theevents-subscribersDynamoDB 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. -
(Optional) Declare subscriptions — in the
Subscriptions panel, pick an
event_typeyour 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. -
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. - 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.
-
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-subscribersrow.60-second cooldown. AWS won't let you re-create an SQS queue with the same name within 60 seconds of deletion. If you deregistercms-alice-demoand 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.| subscriber_id | state | queue | |
|---|---|---|---|
| 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_id | event_type | |
|---|---|---|
| Click "Refresh list". | ||
Send a Message
Inject drops the message directly on the active subscriber's queue
via
Publish hits the real
Other requirements:
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.