`.registry.path` in `feature_store.yaml` is not updated based on interactive config during `feast init`
Expected Behavior
After executing the command feast init -t postgres feature_repo and providing configuration interactively, the .registry.path in feature_repo/feature_repo/feature_store.yaml should be automatically populated based on the entered Postgres settings.
Current Behavior
The .registry.path in feature_repo/feature_repo/feature_store.yaml is not updated and remains the default value: postgresql://postgres:[email protected]:55001/feast.
Steps to reproduce
1. Install Python SDK
pip install feast[postgres]==0.48.1 psycopg2-binary
2. Run feast init -t postgres feature_repo and fill out the configuration interactively
$ feast init -t postgres feature_repo
Postgres host [localhost]: test.example.com
Postgres port [5432]: 5432
Postgres DB name [postgres]: postgres
Postgres schema [public]: public
Postgres user: postgres
Postgres password:
Should I upload example data to Postgres (overwriting "feast_driver_hourly_stats" table)? [Y/n]: n
Creating a new Feast repository in /home/jovyan/feature_repo.
3. Check feature_store.yaml
Note that .registry.path still points to the default value and is not updated to match the entered host and database:
$ cat feature_repo/feature_repo/feature_store.yaml
project: feature_repo
provider: local
registry:
registry_type: sql
path: postgresql://postgres:[email protected]:55001/feast
cache_ttl_seconds: 60
sqlalchemy_config_kwargs:
echo: false
pool_pre_ping: true
online_store:
type: postgres
host: test.example.com
port: 5432
database: postgres
db_schema: public
user: postgres
password: postgres
offline_store:
type: postgres
host: test.example.com
port: 5432
database: postgres
db_schema: public
user: postgres
password: postgres
entity_key_serialization_version: 2
As shown above, the .online_store and .offline_store sections reflect the entered values correctly, but the .registry.path does not.
Specifications
- Version: 0.48.1
- Platform: Python SDK
- Extras:
feast[postgres]
Possible Solution
The interactive init flow could update .registry.path based on the entered Postgres configuration.