-
Notifications
You must be signed in to change notification settings - Fork 164
Tech Design: Project Status 2.0 #8661
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
|
||
| **Work Required:** | ||
| - Create `LogsViewer.svelte` component | ||
| - Implement WebSocket/gRPC-web streaming for `WatchLogs` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It should use the SSE endpoint on <runtime>/v1/instances/{instance_id}/sse, which already supports log streaming, and which is already used elsewhere for watching files and reconciles.
| - No web UI | ||
|
|
||
| **Work Required:** | ||
| - **PLAT:** Expose service creation in admin UI API (if not already) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Already available, should not require platform changes:
rill/proto/rill/admin/v1/api.proto
Line 845 in 46ef7b8
| rpc CreateService(CreateServiceRequest) returns (CreateServiceResponse) { |
| - No direct download endpoint | ||
|
|
||
| **Work Required:** | ||
| - **PLAT:** Create ZIP download endpoint that packages project files |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This opens up some issues when repos are large, for example if someone committed some data files. That could crash our API server, impacting other users. To be safe, this would have to run in the background, so you need background job + GCS + polling + download links. So big-ish effort.
I think you should consider just showing a git clone statement with a one-off token that the user can run. Would be much easier (we already have APIs for that, see rill sudo clone).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Similar to how we do the MCP config generation yeah?
| **Goal:** Show project usage metrics (dashboards, user activity, data usage, query times). | ||
|
|
||
| **Current State:** | ||
| - `OLAPListTables` provides table info | ||
| - Limited usage metrics available | ||
|
|
||
| **Work Required:** | ||
| - **PLAT:** Build usage aggregation APIs (query counts, response times, user sessions) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMO we should not build a hard-coded dashboard for this, we should embed a Rill dashboard from our metrics project for it. This should not require new APIs on the platform side.
For very simple metrics like model row count and size, instead of using OLAPListTables, we'll soon expose that info directly in the model state (returned from ListResources). See this issue: https://linear.app/rilldata/issue/PLAT-389/improve-model-reconcile-telemetry
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perfect, this is exactly what I need!
I like the idea of embedding a Rill dashboard. This means we can have an admin hub that has user, project, activity etc. that we currently share a new org/project for those interested. If that ticket gets finished in 82, do you think we'd be able to immediately use the dash?
| | P2 | Token creation | ✅ `CreateService` | Verify admin UI exposure | | ||
| | P2 | Project download | ❌ | **New ZIP download endpoint** | | ||
| | P2 | Usage analytics | ⚠️ Partial | **New aggregation APIs** | | ||
| | P3 | Model validation | ❌ | **New test results API** | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This would just be showing any reconcile warnings once we support that, right? Shouldn't require a new API.
|
Sweet, thanks for the review. Looks like all-in-all, no changes (Other than OLAPTables) need to be made to get this initiative started. |
For review. Not to merge to main.
This still requires a design pass, but looks like we are missing some endpoints to get all the features in!
https://linear.app/rilldata/project/project-status-20-bc5e08fe7491/overview
Seeking Confirmation from PLAT that these APIs can/will be implemented then once design is finished, have APP or Claude start building out the UI :)