Skip to content

Conversation

@royendo
Copy link
Contributor

@royendo royendo commented Jan 16, 2026

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 :)


**Work Required:**
- Create `LogsViewer.svelte` component
- Implement WebSocket/gRPC-web streaming for `WatchLogs`
Copy link
Contributor

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)
Copy link
Contributor

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:

rpc CreateService(CreateServiceRequest) returns (CreateServiceResponse) {

- No direct download endpoint

**Work Required:**
- **PLAT:** Create ZIP download endpoint that packages project files
Copy link
Contributor

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).

Copy link
Contributor Author

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?

Comment on lines +267 to +274
**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)
Copy link
Contributor

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

Copy link
Contributor Author

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** |
Copy link
Contributor

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.

@royendo
Copy link
Contributor Author

royendo commented Jan 23, 2026

Sweet, thanks for the review. Looks like all-in-all, no changes (Other than OLAPTables) need to be made to get this initiative started.

@royendo royendo marked this pull request as draft January 27, 2026 16:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants