Add MicroStack admin UI with request/resource APIs - #15
Conversation
◈ PR Lens
Architecture 23 components touched across 6 lanes. Inside the changed components — 2 viewsComponent view — Admin API & Live Engine Internal modules handling admin inspection routes, event streaming, request logging, and relationship resolution. Component view — Resource Explorer UI Blazor WebAssembly client architecture managing views, live event coordination, API client, and inspector components. Data flow
The other flows — 1 sequence
View
Tip The CLI's 🪧 More tips
Thanks for using PR Lens! It's built by Coldtea, free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. |
Add a Blazor-based admin dashboard on a dedicated port with dashboard, request log, and resource explorer views. Extend the MicroStack backend with request log and resource APIs, wire resource providers for SQS/S3/DynamoDB, and update solution/docker wiring to run UI and API together. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Preserve the approved service-first prototype and theme as a design reference. Add read-only providers, account switching, bounded previews, and explicit sensitive-value reveal across the admin UI. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Publish the WebAssembly client independently from the native Linux RID to avoid resolving a nonexistent Mono runtime pack. Remove the UI sidecar and serve its assets from the API process instead. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Keep the client in the normal static asset graph, but exclude it when restore or publish supplies a native RID. Restore uses RuntimeIdentifiers; publish uses RuntimeIdentifier. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Restore ignores project-reference property removal. Pin both RID properties locally in the browser project, and keep the asset reference for normal builds even when the SDK infers runtime identifiers. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Docker's forwarded port can reset or close connections before Kestrel listens. Bound the health readiness retries and each request; retain all smoke assertions and fail if the service never becomes ready. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Expose retained metadata and configured relationships without mutating resources. Discover known accounts and preserve explorer scope through instance-wide navigation. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Main keys queues by name rather than persisted URLs. Derive admin and legacy inspection URLs using the configured endpoint, preserving request-aware URLs for AWS calls. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
a074547 to
93be64b
Compare
Refresh visible data through SSE invalidations and reconciliation. Keep pause, retry, account isolation, and explicit secret reveal. Load complete lists and consolidate header and resource controls. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Summary
MicroStack.UI.Client) and host (MicroStack.UI) served on a dedicated UI port4566API +4567UI)Backend changes
RequestLogring buffer +RequestLogMiddlewareGET /_microstack/requestsandDELETE /_microstack/requestsIResourceProvider,ResourceSummary,ResourceItemGET /_microstack/resourcesMICROSTACK_UI_PORToption and startup loggingMicroStackJsonContextUI changes
ApiBaseUrlValidation
dotnet build src/MicroStack/MicroStack.csprojdotnet build src/MicroStack.UI/MicroStack.UI.csprojdotnet test tests/MicroStack.Tests/MicroStack.Tests.csproj --filter-not-class MicroStack.Tests.ContainerSmokeTestsNotes