Open MattDelac opened 3 years ago
Just as a comment, this would be a nice feature for CI/CD where we could potentially run feast plan
(or feast apply --dry-run
) to make sure that the addition of new Entities and FeatureViews would not break the registry in production.
Let's see how feasible this is (instead of just having print()
statements with this command)
Good article over here: https://www.gresearch.co.uk/article/in-praise-of-dry-run/
Adding this to our backlog for development. Won't land soon, but it's important to have.
I think the UX should basically look something like this:
$ feast apply
✅ Imported 15 Python modules from the feature repository
↓↓↓↓↓↓↓↓↓↓↓↓ Plan Start ↓↓↓↓↓↓↓↓↓↓
+ Create FeatureView
name: driver_stats
entity: driver_id
↑↑↑↑↑↑↑↑↑↑↑↑ Plan End ↑↑↑↑↑↑↑↑↑↑↑↑
Are you sure you want to apply this plan? [y/N]>
And feast plan
should print out the exact same plan, without the "Are you sure you want to apply this plan? [y/N]".
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
+1 to having this
Note that we have minimally launched some of this (diffing of Feast FCOs like FeatureViews) in Feast 0.17, which the upcoming release to include details on the infrastructure diffs as well.
I've worked on rendering the output of feast's registry diff as a markdown on the CLI of amora feature-store plan
, making it possible to render the output of the plan as a markdown for pull request comments on CI on the following pull request: https://github.com/mundipagg/amora-data-build-tool/pull/307
Given the proper directions, I would gladly adapt it to fit on a a feast CLI command
Is your feature request related to a problem? Please describe. When we wanted to move from prototyping to production, we had to execute multiple times
feast apply
locally and in our CI/CD environment. We ended up deleting everything when we were just trying things differently. It would have been nice to just pass an option like--dry-run
to print but not execute whatfeast apply
wants to doDescribe the solution you'd like A clear and concise description of what you want to happen. A very common option would be to add the option
--dry-run
tofeast apply
. Another possible one is to create another command (eg:feast plan
)Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.
Additional context Add any other context or screenshots about the feature request here.