hanahmily opened a new pull request, #1197:
URL: https://github.com/apache/skywalking-banyandb/pull/1197

   ## What
   
   Builds on the Canopy subproject (M0–M2, #1191) with **M3 — metadata 
management**: full CRUD for the BanyanDB schema catalog through the Canopy SPA 
+ BFF.
   
   ### Surfaces added
   - **Groups** — create/edit/delete with resource options (shards, replicas, 
segment interval, TTL) and **lifecycle stages** (warm → cold, per-stage 
shards/TTL/node-selector/replicas, default-stage flags).
   - **Streams / Measures / Traces** — create/edit/delete forms, tag-family + 
tag editors, entity-tag pickers, measure fields with encoding/compression, 
index-mode, trace reserved-tag mapping; detail pages with per-tag index-rule 
chips.
   - **Index Rules & Bindings** — rule CRUD (TREE/INVERTED/SKIPPING, analyzer, 
no-sort), binding CRUD with subject picker, validity window, and orphan/expiry 
status.
   - **Navigation** — type overview, group page with paginated resource tables, 
resource detail, breadcrumb routing.
   
   ### Hardening in this PR
   - Client-side validators mirroring the proto rules (advisory; server stays 
authoritative).
   - BFF: per-request SSRF re-check, role enforcement (read-only vs admin), 
upstream-auth attach, error envelopes.
   - Code-review fixes: datetime-local timezone round-trip, proxy 
session-cookie isolation + stream-error handling, "Back to group" navigation, 
form validation gaps (duplicate tags, entity-subset, distinct reserved tags, 
interval).
   - Dep bump: esbuild → 0.28.1 / vite → 7.3.6 (GHSA-g7r4-m6w7-qqqr).
   - Flaky form unit tests hardened (synchronous `fireEvent` fills).
   
   ## Screenshots
   
   | Type overview | Group + lifecycle |
   |---|---|
   | 
![overview](https://github.com/hanahmily/skywalking-banyandb/blob/canopy-dev/canopy/e2e/screenshots/m3-measures-overview.png?raw=true)
 | 
![group](https://github.com/hanahmily/skywalking-banyandb/blob/canopy-dev/canopy/e2e/screenshots/m3-crud-group-created.png?raw=true)
 |
   
   | Measure detail | Stream detail |
   |---|---|
   | 
![measure](https://github.com/hanahmily/skywalking-banyandb/blob/canopy-dev/canopy/e2e/screenshots/m3-crud-measure-detail.png?raw=true)
 | 
![stream](https://github.com/hanahmily/skywalking-banyandb/blob/canopy-dev/canopy/e2e/screenshots/m3-crud-stream-detail.png?raw=true)
 |
   
   | Trace detail | Lifecycle stages |
   |---|---|
   | 
![trace](https://github.com/hanahmily/skywalking-banyandb/blob/canopy-dev/canopy/e2e/screenshots/m3-crud-trace-detail.png?raw=true)
 | 
![lifecycle](https://github.com/hanahmily/skywalking-banyandb/blob/canopy-dev/canopy/e2e/screenshots/m3-lifecycle-created.png?raw=true)
 |
   
   | Index rule | Index-rule binding |
   |---|---|
   | 
![indexrule](https://github.com/hanahmily/skywalking-banyandb/blob/canopy-dev/canopy/e2e/screenshots/m3-indexrule-ui-created.png?raw=true)
 | 
![binding](https://github.com/hanahmily/skywalking-banyandb/blob/canopy-dev/canopy/e2e/screenshots/m3-indexrule-ui-binding-created.png?raw=true)
 |
   
   | Validation surfacing (server rejection) |
   |---|
   | 
![error](https://github.com/hanahmily/skywalking-banyandb/blob/canopy-dev/canopy/e2e/screenshots/m3-crud-group-error.png?raw=true)
 |
   
   ## Testing
   - `npm test` — web 145/145, server 33/33.
   - `npm run build` — clean.
   - E2E (Playwright against a real standalone BanyanDB): M3 CRUD, lifecycle, 
index-rule UI, metadata specs (screenshots above are generated by these specs).
   
   Scope is `canopy/` only; no Go server changes.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to