97c1300f53
* Add Get() and GetOptions. * Removed watcher. Outline of client. YAML templates * Added default service and deployment templates and types * Added API tests and cleaned up errors. * Small refactoring. Template package is no more. * Ripped out existing code in preparation to small rework * Reshuffled the source code to make it organized better * Create service and deployment in kubernetes runtime * Major cleanup and refactoring of Kubernetes runtime * Service now handles low level K8s API calls across both K8s deployment an service API objects * Runtime has a task queue that serves for queueing runtime action requests * General refactoring * No need for Lock in k8s service * Added kubernetes runtime env var to default deployment * Enable running different versions of the same service * Can't delete services through labels * Proto cruft. Added runtime.CreateOptions implementation in proto * Removed proxy service from default env variables * Make service name mandatory param to Get method * Get Delete changes from https://github.com/micro/go-micro/pull/945 * Replaced template files with global variables * Validate service names before sending K8s API request * Refactored Kubernetes API client. Fixed typos. * Added client.Resource to make API resources more explicit in code
73 lines
1.3 KiB
Protocol Buffer
73 lines
1.3 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package go.micro.runtime;
|
|
|
|
service Runtime {
|
|
rpc Create(CreateRequest) returns (CreateResponse) {};
|
|
rpc Get(GetRequest) returns (GetResponse) {};
|
|
rpc Delete(DeleteRequest) returns (DeleteResponse) {};
|
|
rpc Update(UpdateRequest) returns (UpdateResponse) {};
|
|
rpc List(ListRequest) returns (ListResponse) {};
|
|
}
|
|
|
|
message Service {
|
|
// name of the service
|
|
string name = 1;
|
|
// version of the service
|
|
string version = 2;
|
|
// git url of the source
|
|
string source = 3;
|
|
// local path of the source
|
|
string path = 4;
|
|
// command to execute
|
|
string exec = 5;
|
|
}
|
|
|
|
message CreateOptions {
|
|
// command to pass in
|
|
repeated string command = 1;
|
|
// environment to pass in
|
|
repeated string env = 2;
|
|
// output to send to
|
|
string output = 3;
|
|
}
|
|
|
|
message CreateRequest {
|
|
Service service = 1;
|
|
CreateOptions options = 2;
|
|
}
|
|
|
|
message CreateResponse {}
|
|
|
|
message GetOptions {
|
|
// version of the service
|
|
string version = 2;
|
|
}
|
|
|
|
message GetRequest {
|
|
string name = 1;
|
|
GetOptions options = 2;
|
|
}
|
|
|
|
message GetResponse {
|
|
repeated Service services = 1;
|
|
}
|
|
|
|
message DeleteRequest {
|
|
Service service = 1;
|
|
}
|
|
|
|
message DeleteResponse {}
|
|
|
|
message UpdateRequest {
|
|
Service service = 1;
|
|
}
|
|
|
|
message UpdateResponse {}
|
|
|
|
message ListRequest {}
|
|
|
|
message ListResponse {
|
|
repeated Service services = 1;
|
|
}
|