-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Update Feast Core API to support Project namespacing #359
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
Closed
Closed
Changes from all commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
6739053
Update Feast Core API to support Project namespacing
woop c46b892
Updated Feast Serving API to have project namespacing
woop c5e1bd9
Update Feast Java SDK client to support project namespacing
woop 44a4820
Update Feast Java SDK documentation to support project namespacing
woop File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -58,11 +58,28 @@ service CoreService { | |
| // | ||
| // If the changes are valid, core will return the given store configuration in response, and | ||
| // start or update the necessary feature population jobs for the updated store. | ||
| rpc UpdateStore(UpdateStoreRequest) returns (UpdateStoreResponse); | ||
| rpc UpdateStore (UpdateStoreRequest) returns (UpdateStoreResponse); | ||
|
|
||
| // Creates a project. Projects serve as namespaces within which resources like features will be | ||
| // created. Both feature set names as well as field names must be unique within a project. Project | ||
| // names themselves must be globally unique. | ||
| rpc CreateProject (CreateProjectRequest) returns (CreateProjectResponse); | ||
|
|
||
| // Archives a project. Archived projects will continue to exist and function, but won't be visible | ||
| // through the Core API. Any existing ingestion or serving requests will continue to function, | ||
| // but will result in warning messages being logged. It is not possible to unarchive a project | ||
| // through the Core API | ||
| rpc ArchiveProject (ArchiveProjectRequest) returns (ArchiveProjectResponse); | ||
|
|
||
| // Lists all projects active projects. | ||
| rpc ListProjects (ListProjectsRequest) returns (ListProjectsResponse); | ||
| } | ||
|
|
||
| // Request for a single feature set | ||
| message GetFeatureSetRequest { | ||
| // Name of project the feature set belongs to (required) | ||
| string project = 3; | ||
|
|
||
| // Name of feature set (required). | ||
| string name = 1; | ||
|
|
||
|
|
@@ -77,21 +94,25 @@ message GetFeatureSetResponse { | |
|
|
||
| // Retrieves details for all versions of a specific feature set | ||
| message ListFeatureSetsRequest { | ||
| // Name of project that the feature sets belongs to. | ||
| string project = 2; | ||
|
|
||
| Filter filter = 1; | ||
|
|
||
| message Filter { | ||
| // Name of the desired feature set. Valid regex strings are allowed. | ||
| // Name of the desired feature set. Asterisks can be used as wildcards in the name. | ||
| // e.g. | ||
| // - .* can be used to match all feature sets | ||
| // - my-project-.* can be used to match all features prefixed by "my-project" | ||
| // - * can be used to match all feature sets | ||
| // - my-feature-set* can be used to match all features prefixed by "my-feature-set" | ||
| string feature_set_name = 1; | ||
|
|
||
| // Version of the desired feature set. Either a number or valid expression can be provided. | ||
| // e.g. | ||
| // - 1 will match version 1 exactly | ||
| // - >=1 will match all versions greater or equal to 1 | ||
| // - <10 will match all versions less than 10 | ||
| string feature_set_version = 2; | ||
| } | ||
|
|
||
| Filter filter = 1; | ||
| } | ||
|
|
||
| message ListFeatureSetsResponse { | ||
|
|
@@ -112,6 +133,9 @@ message ListStoresResponse { | |
| } | ||
|
|
||
| message ApplyFeatureSetRequest { | ||
| // Name of project that the feature set belongs to. | ||
| string project = 2; | ||
|
|
||
| // Feature set version and source will be ignored | ||
| feast.core.FeatureSetSpec feature_set = 1; | ||
| } | ||
|
|
@@ -133,7 +157,8 @@ message ApplyFeatureSetResponse { | |
| Status status = 2; | ||
| } | ||
|
|
||
| message GetFeastCoreVersionRequest {} | ||
| message GetFeastCoreVersionRequest { | ||
| } | ||
|
|
||
| message GetFeastCoreVersionResponse { | ||
| string version = 1; | ||
|
|
@@ -153,4 +178,34 @@ message UpdateStoreResponse { | |
| } | ||
| feast.core.Store store = 1; | ||
| Status status = 2; | ||
| } | ||
|
|
||
| // Request to create a project | ||
| message CreateProjectRequest { | ||
| // Name of project (required) | ||
| string name = 1; | ||
| } | ||
|
|
||
| // Response for creation of a project | ||
| message CreateProjectResponse { | ||
| } | ||
|
|
||
| // Request for the archival of a project | ||
| message ArchiveProjectRequest { | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What happens to the features ingested when a project is archived?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It continues to work. Ingestion is unaffected. |
||
| // Name of project to be archived | ||
| string name = 1; | ||
| } | ||
|
|
||
| // Response for archival of a project | ||
| message ArchiveProjectResponse { | ||
| } | ||
|
|
||
| // Request for listing of projects | ||
| message ListProjectsRequest { | ||
| } | ||
|
|
||
| // Response for listing of projects | ||
| message ListProjectsResponse { | ||
| // List of project names (archived projects are filtered out) | ||
| repeated string projects = 1; | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
Will this becomes a mandatory parameter?
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.
Yes