forked from feast-dev/feast
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
draft implementation for registry service
- Loading branch information
Showing
7 changed files
with
1,139 additions
and
1 deletion.
There are no files selected for viewing
This file contains 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 |
---|---|---|
@@ -0,0 +1,334 @@ | ||
syntax = "proto3"; | ||
|
||
package feast.registry; | ||
|
||
import "google/protobuf/timestamp.proto"; | ||
import "google/protobuf/empty.proto"; | ||
import "feast/core/Registry.proto"; | ||
import "feast/core/Entity.proto"; | ||
import "feast/core/DataSource.proto"; | ||
import "feast/core/FeatureView.proto"; | ||
import "feast/core/RequestFeatureView.proto"; | ||
import "feast/core/StreamFeatureView.proto"; | ||
import "feast/core/OnDemandFeatureView.proto"; | ||
import "feast/core/FeatureService.proto"; | ||
import "feast/core/SavedDataset.proto"; | ||
import "feast/core/ValidationProfile.proto"; | ||
import "feast/core/InfraObject.proto"; | ||
|
||
// TODO Are Separate RPCs for each object necessary? | ||
// TODO What about Separate RPCs but shared message types? | ||
|
||
service RegistryService { | ||
// Entity RPCs | ||
rpc ApplyEntity (ApplyEntityRequest) returns (google.protobuf.Empty) {} | ||
rpc GetEntity (GetEntityRequest) returns (feast.core.Entity) {} | ||
rpc ListEntities (ListEntitiesRequest) returns (ListEntitiesResponse) {} | ||
rpc DeleteEntity (DeleteEntityRequest) returns (google.protobuf.Empty) {} | ||
|
||
// DataSource RPCs | ||
rpc ApplyDataSource (ApplyDataSourceRequest) returns (google.protobuf.Empty) {} | ||
rpc GetDataSource (GetDataSourceRequest) returns (feast.core.DataSource) {} | ||
rpc ListDataSources (ListDataSourcesRequest) returns (ListDataSourcesResponse) {} | ||
rpc DeleteDataSource (DeleteDataSourceRequest) returns (google.protobuf.Empty) {} | ||
|
||
// FeatureView RPCs | ||
rpc ApplyFeatureView (ApplyFeatureViewRequest) returns (google.protobuf.Empty) {} | ||
rpc GetFeatureView (GetFeatureViewRequest) returns (feast.core.FeatureView) {} | ||
rpc ListFeatureViews (ListFeatureViewsRequest) returns (ListFeatureViewsResponse) {} | ||
rpc DeleteFeatureView (DeleteFeatureViewRequest) returns (google.protobuf.Empty) {} | ||
|
||
// RequestFeatureView RPCs | ||
rpc GetRequestFeatureView (GetRequestFeatureViewRequest) returns (feast.core.RequestFeatureView) {} | ||
rpc ListRequestFeatureViews (ListRequestFeatureViewsRequest) returns (ListRequestFeatureViewsResponse) {} | ||
|
||
// StreamFeatureView RPCs | ||
rpc GetStreamFeatureView (GetStreamFeatureViewRequest) returns (feast.core.StreamFeatureView) {} | ||
rpc ListStreamFeatureViews (ListStreamFeatureViewsRequest) returns (ListStreamFeatureViewsResponse) {} | ||
|
||
// OnDemandFeatureView RPCs | ||
rpc GetOnDemandFeatureView (GetOnDemandFeatureViewRequest) returns (feast.core.OnDemandFeatureView) {} | ||
rpc ListOnDemandFeatureViews (ListOnDemandFeatureViewsRequest) returns (ListOnDemandFeatureViewsResponse) {} | ||
|
||
// FeatureService RPCs | ||
rpc ApplyFeatureService (ApplyFeatureServiceRequest) returns (google.protobuf.Empty) {} | ||
rpc GetFeatureService (GetFeatureServiceRequest) returns (feast.core.FeatureService) {} | ||
rpc ListFeatureServices (ListFeatureServicesRequest) returns (ListFeatureServicesResponse) {} | ||
rpc DeleteFeatureService (DeleteFeatureServiceRequest) returns (google.protobuf.Empty) {} | ||
|
||
// SavedDataset RPCs | ||
rpc ApplySavedDataset (ApplySavedDatasetRequest) returns (google.protobuf.Empty) {} | ||
rpc GetSavedDataset (GetSavedDatasetRequest) returns (feast.core.SavedDataset) {} | ||
rpc ListSavedDatasets (ListSavedDatasetsRequest) returns (ListSavedDatasetsResponse) {} | ||
rpc DeleteSavedDataset (DeleteSavedDatasetRequest) returns (google.protobuf.Empty) {} | ||
|
||
// ValidationReference RPCs | ||
rpc ApplyValidationReference (ApplyValidationReferenceRequest) returns (google.protobuf.Empty) {} | ||
rpc GetValidationReference (GetValidationReferenceRequest) returns (feast.core.ValidationReference) {} | ||
rpc ListValidationReferences (ListValidationReferencesRequest) returns (ListValidationReferencesResponse) {} | ||
rpc DeleteValidationReference (DeleteValidationReferenceRequest) returns (google.protobuf.Empty) {} | ||
|
||
rpc ApplyMaterialization (ApplyMaterializationRequest) returns (google.protobuf.Empty) {} | ||
rpc ListProjectMetadata (ListProjectMetadataRequest) returns (ListProjectMetadataResponse) {} | ||
rpc UpdateInfra (UpdateInfraRequest) returns (google.protobuf.Empty) {} | ||
rpc GetInfra (GetInfraRequest) returns (feast.core.Infra) {} | ||
rpc Commit (google.protobuf.Empty) returns (google.protobuf.Empty) {} | ||
rpc Refresh (RefreshRequest) returns (google.protobuf.Empty) {} | ||
rpc Proto (google.protobuf.Empty) returns (feast.core.Registry) {} | ||
|
||
} | ||
|
||
message RefreshRequest { | ||
string project = 1; | ||
} | ||
|
||
message UpdateInfraRequest { | ||
feast.core.Infra infra = 1; | ||
string project = 2; | ||
bool commit = 3; | ||
} | ||
|
||
message GetInfraRequest { | ||
string project = 1; | ||
bool allow_cache = 2; | ||
} | ||
|
||
message ListProjectMetadataRequest { | ||
string project = 1; | ||
bool allow_cache = 2; | ||
} | ||
|
||
message ListProjectMetadataResponse { | ||
repeated feast.core.ProjectMetadata project_metadata = 1; | ||
} | ||
|
||
message ApplyMaterializationRequest { | ||
feast.core.FeatureView feature_view = 1; | ||
string project = 2; | ||
google.protobuf.Timestamp start_date = 3; | ||
google.protobuf.Timestamp end_date = 4; | ||
bool commit = 5; | ||
} | ||
|
||
message ApplyEntityRequest { | ||
feast.core.Entity entity = 1; | ||
string project = 2; | ||
bool commit = 3; | ||
} | ||
|
||
message GetEntityRequest { | ||
string name = 1; | ||
string project = 2; | ||
bool allow_cache = 3; | ||
} | ||
|
||
message ListEntitiesRequest { | ||
string project = 1; | ||
bool allow_cache = 2; | ||
} | ||
|
||
message ListEntitiesResponse { | ||
repeated feast.core.Entity entities = 1; | ||
} | ||
|
||
message DeleteEntityRequest { | ||
string name = 1; | ||
string project = 2; | ||
bool commit = 3; | ||
} | ||
|
||
// DataSources | ||
|
||
message ApplyDataSourceRequest { | ||
feast.core.DataSource data_source = 1; | ||
string project = 2; | ||
bool commit = 3; | ||
} | ||
|
||
message GetDataSourceRequest { | ||
string name = 1; | ||
string project = 2; | ||
bool allow_cache = 3; | ||
} | ||
|
||
message ListDataSourcesRequest { | ||
string project = 1; | ||
bool allow_cache = 2; | ||
} | ||
|
||
message ListDataSourcesResponse { | ||
repeated feast.core.DataSource data_sources = 1; | ||
} | ||
|
||
message DeleteDataSourceRequest { | ||
string name = 1; | ||
string project = 2; | ||
bool commit = 3; | ||
} | ||
|
||
// FeatureViews | ||
|
||
message ApplyFeatureViewRequest { | ||
feast.core.FeatureView feature_view = 1; | ||
string project = 2; | ||
bool commit = 3; | ||
} | ||
|
||
message GetFeatureViewRequest { | ||
string name = 1; | ||
string project = 2; | ||
bool allow_cache = 3; | ||
} | ||
|
||
message ListFeatureViewsRequest { | ||
string project = 1; | ||
bool allow_cache = 2; | ||
} | ||
|
||
message ListFeatureViewsResponse { | ||
repeated feast.core.FeatureView feature_views = 1; | ||
} | ||
|
||
message DeleteFeatureViewRequest { | ||
string name = 1; | ||
string project = 2; | ||
bool commit = 3; | ||
} | ||
|
||
// RequestFeatureView | ||
|
||
message GetRequestFeatureViewRequest { | ||
string name = 1; | ||
string project = 2; | ||
bool allow_cache = 3; | ||
} | ||
|
||
message ListRequestFeatureViewsRequest { | ||
string project = 1; | ||
bool allow_cache = 2; | ||
} | ||
|
||
message ListRequestFeatureViewsResponse { | ||
repeated feast.core.RequestFeatureView request_feature_views = 1; | ||
} | ||
|
||
// StreamFeatureView | ||
|
||
message GetStreamFeatureViewRequest { | ||
string name = 1; | ||
string project = 2; | ||
bool allow_cache = 3; | ||
} | ||
|
||
message ListStreamFeatureViewsRequest { | ||
string project = 1; | ||
bool allow_cache = 2; | ||
} | ||
|
||
message ListStreamFeatureViewsResponse { | ||
repeated feast.core.StreamFeatureView stream_feature_views = 1; | ||
} | ||
|
||
// OnDemandFeatureView | ||
|
||
message GetOnDemandFeatureViewRequest { | ||
string name = 1; | ||
string project = 2; | ||
bool allow_cache = 3; | ||
} | ||
|
||
message ListOnDemandFeatureViewsRequest { | ||
string project = 1; | ||
bool allow_cache = 2; | ||
} | ||
|
||
message ListOnDemandFeatureViewsResponse { | ||
repeated feast.core.OnDemandFeatureView on_demand_feature_views = 1; | ||
} | ||
|
||
// FeatureServices | ||
|
||
message ApplyFeatureServiceRequest { | ||
feast.core.FeatureService feature_service = 1; | ||
string project = 2; | ||
bool commit = 3; | ||
} | ||
|
||
message GetFeatureServiceRequest { | ||
string name = 1; | ||
string project = 2; | ||
bool allow_cache = 3; | ||
} | ||
|
||
message ListFeatureServicesRequest { | ||
string project = 1; | ||
bool allow_cache = 2; | ||
} | ||
|
||
message ListFeatureServicesResponse { | ||
repeated feast.core.FeatureService feature_services = 1; | ||
} | ||
|
||
message DeleteFeatureServiceRequest { | ||
string name = 1; | ||
string project = 2; | ||
bool commit = 3; | ||
} | ||
|
||
// SavedDataset | ||
|
||
message ApplySavedDatasetRequest { | ||
feast.core.SavedDataset saved_dataset = 1; | ||
string project = 2; | ||
bool commit = 3; | ||
} | ||
|
||
message GetSavedDatasetRequest { | ||
string name = 1; | ||
string project = 2; | ||
bool allow_cache = 3; | ||
} | ||
|
||
message ListSavedDatasetsRequest { | ||
string project = 1; | ||
bool allow_cache = 2; | ||
} | ||
|
||
message ListSavedDatasetsResponse { | ||
repeated feast.core.SavedDataset saved_datasets = 1; | ||
} | ||
|
||
message DeleteSavedDatasetRequest { | ||
string name = 1; | ||
string project = 2; | ||
bool commit = 3; | ||
} | ||
|
||
// ValidationReference | ||
|
||
message ApplyValidationReferenceRequest { | ||
feast.core.ValidationReference validation_reference = 1; | ||
string project = 2; | ||
bool commit = 3; | ||
} | ||
|
||
message GetValidationReferenceRequest { | ||
string name = 1; | ||
string project = 2; | ||
bool allow_cache = 3; | ||
} | ||
|
||
message ListValidationReferencesRequest { | ||
string project = 1; | ||
bool allow_cache = 2; | ||
} | ||
|
||
message ListValidationReferencesResponse { | ||
repeated feast.core.ValidationReference validation_references = 1; | ||
} | ||
|
||
message DeleteValidationReferenceRequest { | ||
string name = 1; | ||
string project = 2; | ||
bool commit = 3; | ||
} |
This file contains 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 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.