* 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;
 | 
						|
}
 |