feast
feast copied to clipboard
Feast UI: URL scheme "postgresql" is not supported when specifying SQL registry in `projects-list.json`
Expected Behavior
The UI created using a custom React app with a SQL registry shows the entities, feature views, etc. per project.
Current Behavior
It is unclear how to specify the registryPath
in your projects-list.json
file. The structure of this file could definitely benefit from some more documentation.
While the Feast UI does spin up and shows the project names and descriptions from the projects-list.json
on the homepage, it does not load and visualize the corresponding Feast objects when clicking on one of these projects, even though the registry does contain that data (see screenshot).
The browser console shows the following error:
Fetch API cannot load postgresql://postgres:test@db:5432/feast. URL scheme "postgresql" is not supported.
The part postgresql://postgres:test@db:5432/feast
is the connection string to my SQL registry that I created through docker-compose
and that I pass in projects-list.json
under the registryPath
key.
Is a SQL registry is not supported yet by the UI? Or did I format registryPath
incorrectly?
Steps to reproduce
- Follow steps from the docs to create a React app.
- Add your
projects-list.json
to thepublic
directory. My file looked like this:
{
"projects": [
{
"name": "Project 1",
"description": "Description 1.",
"id": "project_1",
"registryPath": "postgresql://postgres:test@db:5432/feast"
},
{
"name": "Project 2",
"description": "Description 2.",
"id": "project_2",
"registryPath": "postgresql://postgres:test@db:5432/feast"
}
]
}
- Start a Postgres database using the following
docker-compose.yml
version: "3"
services:
db:
restart: always
image: postgres:16-alpine
ports:
- "5432:5432"
networks:
- backend
volumes:
- ~/feast_postgres_data:/var/lib/postgresql/data
environment:
- POSTGRES_DB=feast
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=test
networks:
backend:
driver: bridge
volumes:
feast_postgres_data: null
- Run
yarn start
.
Specifications
- Version: 0.35.0
- Platform: MacOS
- Subsystem: Sonoma 14.2
Possible Solution
More documentation on setting up the UI would be very much welcome.
Hey @TomSteenbergen thanks for raising your issue. My initial suspicion is that the postgres protocol isn't supported for UI's registryPath, so we're looking into this to confirm. Should this be the case, we'll take a look at a docs update to better specify possible values there &, if appropriate based on findings, potentially open another issue to consider supporting the protocol as a feature request. We'll keep you posted here.
Currently registryPath
parameters supports only a file location or url value.
Will add a note in the reference documentation mentioning that.
Currently registryPath parameters supports only a file location or url value.
@tmihalac Thanks for confirming! Do you happen to know whether support for a SQL registry is somewhere on the roadmap?
@TomSteenbergen I feel we're still working on our community roadmap & I can't unilaterally say with certainty, but I can share that there's been interest outside of your own expressed in seeing SQL-based registry/offline/online followed up so I'd think it's likely to be explored.
We recently added grpc registry server in #3924. The intention for it was to be used from go and java servers, but i guess it could be a solution in here as well... if someone figures out a way to call grpc from the browser :) and get the registry proto from there.