mirror of
				https://github.com/juanfont/headscale.git
				synced 2025-10-28 10:51:44 +01:00 
			
		
		
		
	While this truly breaks the point of the backwards compatible stuff with protobuf, it does not seem worth it to attempt to glue together a compatible API. Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
		
			
				
	
	
		
			127 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
			
		
		
	
	
			127 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
syntax = "proto3";
 | 
						|
package headscale.v1;
 | 
						|
option  go_package = "github.com/juanfont/headscale/gen/go/v1";
 | 
						|
 | 
						|
import "google/protobuf/timestamp.proto";
 | 
						|
import "headscale/v1/user.proto";
 | 
						|
import "headscale/v1/preauthkey.proto";
 | 
						|
 | 
						|
enum RegisterMethod {
 | 
						|
    REGISTER_METHOD_UNSPECIFIED = 0;
 | 
						|
    REGISTER_METHOD_AUTH_KEY    = 1;
 | 
						|
    REGISTER_METHOD_CLI         = 2;
 | 
						|
    REGISTER_METHOD_OIDC        = 3;
 | 
						|
}
 | 
						|
 | 
						|
message Machine {
 | 
						|
    uint64          id           = 1;
 | 
						|
    string          machine_key  = 2;
 | 
						|
    string          node_key     = 3;
 | 
						|
    string          disco_key    = 4;
 | 
						|
    repeated string ip_addresses = 5;
 | 
						|
    string          name         = 6;
 | 
						|
    User user          = 7;
 | 
						|
 | 
						|
    google.protobuf.Timestamp last_seen              = 8;
 | 
						|
    google.protobuf.Timestamp last_successful_update = 9;
 | 
						|
    google.protobuf.Timestamp expiry                 = 10;
 | 
						|
 | 
						|
    PreAuthKey pre_auth_key = 11;
 | 
						|
 | 
						|
    google.protobuf.Timestamp created_at = 12;
 | 
						|
 | 
						|
    RegisterMethod register_method = 13;
 | 
						|
 | 
						|
    reserved 14 to 17;
 | 
						|
    // google.protobuf.Timestamp updated_at = 14;
 | 
						|
    // google.protobuf.Timestamp deleted_at = 15;
 | 
						|
 | 
						|
    // bytes host_info      = 15;
 | 
						|
    // bytes endpoints      = 16;
 | 
						|
    // bytes enabled_routes = 17;
 | 
						|
 | 
						|
    repeated string forced_tags  = 18;
 | 
						|
    repeated string invalid_tags = 19;
 | 
						|
    repeated string valid_tags   = 20;
 | 
						|
    string          given_name   = 21;
 | 
						|
    bool            online       = 22;
 | 
						|
}
 | 
						|
 | 
						|
message RegisterMachineRequest {
 | 
						|
    string user = 1;
 | 
						|
    string key       = 2;
 | 
						|
}
 | 
						|
 | 
						|
message RegisterMachineResponse {
 | 
						|
    Machine machine = 1;
 | 
						|
}
 | 
						|
 | 
						|
message GetMachineRequest {
 | 
						|
    uint64 machine_id = 1;
 | 
						|
}
 | 
						|
 | 
						|
message GetMachineResponse {
 | 
						|
    Machine machine = 1;
 | 
						|
}
 | 
						|
 | 
						|
message SetTagsRequest {
 | 
						|
    uint64          machine_id = 1;
 | 
						|
    repeated string tags       = 2;
 | 
						|
}
 | 
						|
 | 
						|
message SetTagsResponse {
 | 
						|
    Machine machine = 1;
 | 
						|
}
 | 
						|
 | 
						|
message DeleteMachineRequest {
 | 
						|
    uint64 machine_id = 1;
 | 
						|
}
 | 
						|
 | 
						|
message DeleteMachineResponse {
 | 
						|
}
 | 
						|
 | 
						|
message ExpireMachineRequest {
 | 
						|
    uint64 machine_id = 1;
 | 
						|
}
 | 
						|
 | 
						|
message ExpireMachineResponse {
 | 
						|
    Machine machine = 1;
 | 
						|
}
 | 
						|
 | 
						|
message RenameMachineRequest {
 | 
						|
    uint64 machine_id = 1;
 | 
						|
    string new_name   = 2;
 | 
						|
}
 | 
						|
 | 
						|
message RenameMachineResponse {
 | 
						|
    Machine machine = 1;
 | 
						|
}
 | 
						|
 | 
						|
message ListMachinesRequest {
 | 
						|
    string user = 1;
 | 
						|
}
 | 
						|
 | 
						|
message ListMachinesResponse {
 | 
						|
    repeated Machine machines = 1;
 | 
						|
}
 | 
						|
 | 
						|
message MoveMachineRequest {
 | 
						|
    uint64 machine_id = 1;
 | 
						|
    string user  = 2;
 | 
						|
}
 | 
						|
 | 
						|
message MoveMachineResponse {
 | 
						|
    Machine machine = 1;
 | 
						|
}
 | 
						|
 | 
						|
message DebugCreateMachineRequest {
 | 
						|
    string user       = 1;
 | 
						|
    string          key    = 2;
 | 
						|
    string          name   = 3;
 | 
						|
    repeated string routes = 4;
 | 
						|
}
 | 
						|
 | 
						|
message DebugCreateMachineResponse {
 | 
						|
    Machine machine = 1;
 | 
						|
}
 |