You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+25-11Lines changed: 25 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,6 +25,8 @@ Production breaks at 2 AM. Your cloud portal shows **5,000 messages in the Dead-
25
25
26
26
**ServiceHub is an ultra-fast, self-hosted web application that gives engineers full forensic visibility into their cloud message queues** — like a debugger, but for Azure Service Bus, AWS SQS/SNS, and GCP Pub/Sub.
27
27
28
+
> **Your cloud console shows you counts. ServiceHub shows you answers.**
29
+
28
30
> [!IMPORTANT]
29
31
> **Built for strict environments.** Read-only by default (`Peek`, never consume) · connection strings AES-GCM-256 encrypted at rest · **zero external calls** — pattern analysis runs entirely in your browser, no message data ever leaves your network · destructive actions (replay, send) blocked on production namespaces. Details in [Security](#security).
30
32
@@ -42,6 +44,7 @@ Production breaks at 2 AM. Your cloud portal shows **5,000 messages in the Dead-
42
44
| Dead-letter queue investigation | ❌ One at a time | ✅ Batch analysis + AI patterns |
43
45
| AI pattern detection | ❌ Not available | ✅ Client-side clustering, zero data sent |
44
46
| Replay from DLQ | ❌ Not available | ✅ One-click or auto-replay rules |
47
+
| Delete a single message | ❌ Not available | ✅ Purge (AWS & GCP; Azure SDK has no single-message delete) |
45
48
| Multi-namespace support | ❌ Portal only | ✅ Manage multiple connections |
46
49
| Correlation ID tracing | ❌ Not available | ✅ Trace journeys across all queues |
47
50
| Scheduled message management | ❌ Not available | ✅ View, reschedule, and cancel |
@@ -51,7 +54,7 @@ Production breaks at 2 AM. Your cloud portal shows **5,000 messages in the Dead-
51
54
52
55
## Core Capabilities
53
56
54
-
ServiceHub's deepest and most mature features are built natively for Azure Service Bus.
57
+
Everything below serves three jobs: **Investigate** the failure, **Recover** the messages, **Prevent** the repeat. ServiceHub's deepest and most mature features are built natively for Azure Service Bus.
55
58
56
59
### 🔌 Connect in 30 Seconds — Zero Configuration
57
60
Enter your connection string once and you're browsing messages instantly. Supports Listen-only (read-only), Send, and Manage policies. Connection strings are **AES-GCM encrypted at rest** — no plain-text secrets stored anywhere.
@@ -71,8 +74,8 @@ Click **AI Findings** to see error pattern clusters detected across your current
71
74
> [!NOTE]
72
75
> **Zero-trust privacy:** All analysis runs entirely in your browser. No message content ever leaves your environment.
73
76
74
-
### 💀 Dead-Letter Queue Investigation
75
-
Select the **Dead-Letter** tab to inspect failed messages in full. Each DLQ message shows exactly why Azure moved the message, the full error text from the broker, the AI Assessment, and a one-click Replay button to resend it after fixing the root cause.
77
+
### 💀 Dead-Letter Queue Investigation & Recovery
78
+
Select the **Dead-Letter** tab to inspect failed messages in full. Each DLQ message shows exactly why the broker moved it, the full error text, the assessment in plain English, and one-click actions: **Replay** it back to the main queue after fixing the root cause, or **Purge** it permanently (AWS & GCP — Azure's SDK has no reliable single-message delete, so the action is disabled there rather than pretending).
76
79
77
80
### 📊 DLQ Intelligence — Persistent History & 30-Day Trends
78
81
DLQ Intelligence automatically scans your dead-letter queues and stores every finding in a local SQLite database — so you can track failures over time, not just during the current session. Features include a 30-day trend chart, auto-categorization (Transient, MaxDelivery, Expired, DataQuality, Authorization), and CSV/JSON exports.
@@ -95,14 +98,15 @@ See every message queued for future delivery. Reschedule or cancel individual me
95
98
96
99
ServiceHub extends beyond Azure Service Bus to support **AWS SQS/SNS** and **GCP Pub/Sub** via the Cloud Bridge.
¹ Cross-Cloud Trace searches any namespace whose provider is registered in the API's dependency-injection container. Azure is always registered; AWS/GCP registration is disabled by default in this build — use Simulator mode, or register the provider, to exercise AWS/GCP trace search.
105
-
² GCP Pub/Sub supports peeking dead-lettered messages via the subscription's configured dead-letter topic, but not manually moving a message to the DLQ on demand — Pub/Sub dead-lettering is policy-driven via `MaxDeliveryAttempts` on the subscription. Message counts are also unavailable via the Pub/Sub API and are reported as `0`.
108
+
² GCP Pub/Sub dead-lettering is policy-driven via `MaxDeliveryAttempts`; ServiceHub reads the DLQ through the subscription's configured dead-letter topic, and its test tooling moves messages there by republishing through the subscription's dead-letter policy. Message counts are unavailable via the Pub/Sub API and are reported as `0`.
109
+
³ Test tools (send a message, generate realistic test data, push messages to the DLQ) are available only on **DEV** namespaces with a Manage-level connection — never in UAT or production.
106
110
107
111
### 🌐 Cross-Cloud Trace
108
112
Connect namespaces from two or more cloud providers and use **Multi-Cloud Trace** to trace a single Correlation ID or message GUID as it routes from Azure $\rightarrow$ AWS $\rightarrow$ GCP (or any combination). The result is a visual routing path diagram, a chronological hop timeline, and a namespace search-coverage panel.
@@ -267,6 +271,9 @@ Yes. Listen-only mode is fully read-only. Deploy ServiceHub inside your private
267
271
**How does AI analysis work without an API key?**
268
272
ServiceHub uses client-side heuristic pattern detection — pure JavaScript in your browser. No GPT, no external service, no data exfiltration.
269
273
274
+
**Can I delete a single message?**
275
+
On AWS (delete by receipt handle) and GCP (acknowledge), yes — the Purge action, guarded by explicit-intent headers and blocked on production namespaces. Azure Service Bus has no reliable single-message delete in the SDK, so ServiceHub disables the action there instead of faking it.
276
+
270
277
---
271
278
272
279
## Contributing
@@ -287,8 +294,15 @@ For deep backend developer guidelines, refer to the [API README](services/api/RE
287
294
288
295
---
289
296
290
-
## Welcome Page
291
-
ServiceHub ships with a public **landing / welcome page** at the root path (`/`) that serves as the entry point for new users. The CTA in the welcome page reads **"Open ServiceHub"** rather than "Demo" to reflect that the hosted application is a fully functional production deployment — not a restricted preview.
297
+
## Roadmap
298
+
299
+
ServiceHub is built depth-first: make one workflow excellent before adding the next surface.
300
+
301
+
-**Now (MVP)** — the forensic core across Azure (GA) and AWS/GCP (preview): explore, search, DLQ investigation, replay, purge, send, auto-replay rules, simulator, live updates.
302
+
-**Next** — operational habit: bulk replay/purge with dry-run preview, DLQ triage inbox, live tail, fleet dashboard across namespaces, Slack/Teams alert cards, Docker packaging.
303
+
-**Later** — team & governance: SSO, role-based access, approval workflows for destructive operations, audit export.
304
+
305
+
Have a use-case that should shape this? [Open a feature request](https://github.com/debdevops/servicehub/issues/new) — describe the problem, not just the solution.
0 commit comments