mirror of
				https://github.com/juanfont/headscale.git
				synced 2025-10-28 10:51:44 +01:00 
			
		
		
		
	Fix lint errors, add initial namespace rpc
This commit is contained in:
		
							parent
							
								
									06700c1dc4
								
							
						
					
					
						commit
						07bbeafa3b
					
				
							
								
								
									
										807
									
								
								gen/go/headscale/v1/rpc.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										807
									
								
								gen/go/headscale/v1/rpc.pb.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,807 @@ | ||||
| // Code generated by protoc-gen-go. DO NOT EDIT.
 | ||||
| // versions:
 | ||||
| // 	protoc-gen-go v1.27.1
 | ||||
| // 	protoc        v3.18.1
 | ||||
| // source: headscale/v1/rpc.proto
 | ||||
| 
 | ||||
| package v1 | ||||
| 
 | ||||
| import ( | ||||
| 	_ "google.golang.org/genproto/googleapis/api/annotations" | ||||
| 	protoreflect "google.golang.org/protobuf/reflect/protoreflect" | ||||
| 	protoimpl "google.golang.org/protobuf/runtime/protoimpl" | ||||
| 	timestamppb "google.golang.org/protobuf/types/known/timestamppb" | ||||
| 	reflect "reflect" | ||||
| 	sync "sync" | ||||
| ) | ||||
| 
 | ||||
| const ( | ||||
| 	// Verify that this generated code is sufficiently up-to-date.
 | ||||
| 	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) | ||||
| 	// Verify that runtime/protoimpl is sufficiently up-to-date.
 | ||||
| 	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) | ||||
| ) | ||||
| 
 | ||||
| type RegisterMethod int32 | ||||
| 
 | ||||
| const ( | ||||
| 	RegisterMethod_REGISTER_METHOD_UNSPECIFIED RegisterMethod = 0 | ||||
| 	RegisterMethod_REGISTER_METHOD_AUTH_KEY    RegisterMethod = 1 | ||||
| 	RegisterMethod_REGISTER_METHOD_CLI         RegisterMethod = 2 | ||||
| 	RegisterMethod_REGISTER_METHOD_OIDC        RegisterMethod = 3 | ||||
| ) | ||||
| 
 | ||||
| // Enum value maps for RegisterMethod.
 | ||||
| var ( | ||||
| 	RegisterMethod_name = map[int32]string{ | ||||
| 		0: "REGISTER_METHOD_UNSPECIFIED", | ||||
| 		1: "REGISTER_METHOD_AUTH_KEY", | ||||
| 		2: "REGISTER_METHOD_CLI", | ||||
| 		3: "REGISTER_METHOD_OIDC", | ||||
| 	} | ||||
| 	RegisterMethod_value = map[string]int32{ | ||||
| 		"REGISTER_METHOD_UNSPECIFIED": 0, | ||||
| 		"REGISTER_METHOD_AUTH_KEY":    1, | ||||
| 		"REGISTER_METHOD_CLI":         2, | ||||
| 		"REGISTER_METHOD_OIDC":        3, | ||||
| 	} | ||||
| ) | ||||
| 
 | ||||
| func (x RegisterMethod) Enum() *RegisterMethod { | ||||
| 	p := new(RegisterMethod) | ||||
| 	*p = x | ||||
| 	return p | ||||
| } | ||||
| 
 | ||||
| func (x RegisterMethod) String() string { | ||||
| 	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) | ||||
| } | ||||
| 
 | ||||
| func (RegisterMethod) Descriptor() protoreflect.EnumDescriptor { | ||||
| 	return file_headscale_v1_rpc_proto_enumTypes[0].Descriptor() | ||||
| } | ||||
| 
 | ||||
| func (RegisterMethod) Type() protoreflect.EnumType { | ||||
| 	return &file_headscale_v1_rpc_proto_enumTypes[0] | ||||
| } | ||||
| 
 | ||||
| func (x RegisterMethod) Number() protoreflect.EnumNumber { | ||||
| 	return protoreflect.EnumNumber(x) | ||||
| } | ||||
| 
 | ||||
| // Deprecated: Use RegisterMethod.Descriptor instead.
 | ||||
| func (RegisterMethod) EnumDescriptor() ([]byte, []int) { | ||||
| 	return file_headscale_v1_rpc_proto_rawDescGZIP(), []int{0} | ||||
| } | ||||
| 
 | ||||
| type GetMachineRequest struct { | ||||
| 	state         protoimpl.MessageState | ||||
| 	sizeCache     protoimpl.SizeCache | ||||
| 	unknownFields protoimpl.UnknownFields | ||||
| 
 | ||||
| 	MachineId uint64 `protobuf:"varint,1,opt,name=machine_id,json=machineId,proto3" json:"machine_id,omitempty"` | ||||
| } | ||||
| 
 | ||||
| func (x *GetMachineRequest) Reset() { | ||||
| 	*x = GetMachineRequest{} | ||||
| 	if protoimpl.UnsafeEnabled { | ||||
| 		mi := &file_headscale_v1_rpc_proto_msgTypes[0] | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		ms.StoreMessageInfo(mi) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func (x *GetMachineRequest) String() string { | ||||
| 	return protoimpl.X.MessageStringOf(x) | ||||
| } | ||||
| 
 | ||||
| func (*GetMachineRequest) ProtoMessage() {} | ||||
| 
 | ||||
| func (x *GetMachineRequest) ProtoReflect() protoreflect.Message { | ||||
| 	mi := &file_headscale_v1_rpc_proto_msgTypes[0] | ||||
| 	if protoimpl.UnsafeEnabled && x != nil { | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		if ms.LoadMessageInfo() == nil { | ||||
| 			ms.StoreMessageInfo(mi) | ||||
| 		} | ||||
| 		return ms | ||||
| 	} | ||||
| 	return mi.MessageOf(x) | ||||
| } | ||||
| 
 | ||||
| // Deprecated: Use GetMachineRequest.ProtoReflect.Descriptor instead.
 | ||||
| func (*GetMachineRequest) Descriptor() ([]byte, []int) { | ||||
| 	return file_headscale_v1_rpc_proto_rawDescGZIP(), []int{0} | ||||
| } | ||||
| 
 | ||||
| func (x *GetMachineRequest) GetMachineId() uint64 { | ||||
| 	if x != nil { | ||||
| 		return x.MachineId | ||||
| 	} | ||||
| 	return 0 | ||||
| } | ||||
| 
 | ||||
| type GetMachineResponse struct { | ||||
| 	state         protoimpl.MessageState | ||||
| 	sizeCache     protoimpl.SizeCache | ||||
| 	unknownFields protoimpl.UnknownFields | ||||
| 
 | ||||
| 	Id                   uint64                 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` | ||||
| 	MachineKey           string                 `protobuf:"bytes,2,opt,name=machine_key,json=machineKey,proto3" json:"machine_key,omitempty"` | ||||
| 	NodeKey              string                 `protobuf:"bytes,3,opt,name=node_key,json=nodeKey,proto3" json:"node_key,omitempty"` | ||||
| 	DiscoKey             string                 `protobuf:"bytes,4,opt,name=disco_key,json=discoKey,proto3" json:"disco_key,omitempty"` | ||||
| 	IpAddress            string                 `protobuf:"bytes,5,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` | ||||
| 	Name                 string                 `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` | ||||
| 	NamespaceId          uint32                 `protobuf:"varint,7,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` | ||||
| 	Registered           bool                   `protobuf:"varint,8,opt,name=registered,proto3" json:"registered,omitempty"` | ||||
| 	RegisterMethod       RegisterMethod         `protobuf:"varint,9,opt,name=register_method,json=registerMethod,proto3,enum=headscale.v1.RegisterMethod" json:"register_method,omitempty"` | ||||
| 	AuthKeyId            uint32                 `protobuf:"varint,10,opt,name=auth_key_id,json=authKeyId,proto3" json:"auth_key_id,omitempty"` // PreAuthKey     auth_key        = 11;
 | ||||
| 	LastSeen             *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=last_seen,json=lastSeen,proto3" json:"last_seen,omitempty"` | ||||
| 	LastSuccessfulUpdate *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=last_successful_update,json=lastSuccessfulUpdate,proto3" json:"last_successful_update,omitempty"` | ||||
| 	Expiry               *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=expiry,proto3" json:"expiry,omitempty"` | ||||
| } | ||||
| 
 | ||||
| func (x *GetMachineResponse) Reset() { | ||||
| 	*x = GetMachineResponse{} | ||||
| 	if protoimpl.UnsafeEnabled { | ||||
| 		mi := &file_headscale_v1_rpc_proto_msgTypes[1] | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		ms.StoreMessageInfo(mi) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func (x *GetMachineResponse) String() string { | ||||
| 	return protoimpl.X.MessageStringOf(x) | ||||
| } | ||||
| 
 | ||||
| func (*GetMachineResponse) ProtoMessage() {} | ||||
| 
 | ||||
| func (x *GetMachineResponse) ProtoReflect() protoreflect.Message { | ||||
| 	mi := &file_headscale_v1_rpc_proto_msgTypes[1] | ||||
| 	if protoimpl.UnsafeEnabled && x != nil { | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		if ms.LoadMessageInfo() == nil { | ||||
| 			ms.StoreMessageInfo(mi) | ||||
| 		} | ||||
| 		return ms | ||||
| 	} | ||||
| 	return mi.MessageOf(x) | ||||
| } | ||||
| 
 | ||||
| // Deprecated: Use GetMachineResponse.ProtoReflect.Descriptor instead.
 | ||||
| func (*GetMachineResponse) Descriptor() ([]byte, []int) { | ||||
| 	return file_headscale_v1_rpc_proto_rawDescGZIP(), []int{1} | ||||
| } | ||||
| 
 | ||||
| func (x *GetMachineResponse) GetId() uint64 { | ||||
| 	if x != nil { | ||||
| 		return x.Id | ||||
| 	} | ||||
| 	return 0 | ||||
| } | ||||
| 
 | ||||
| func (x *GetMachineResponse) GetMachineKey() string { | ||||
| 	if x != nil { | ||||
| 		return x.MachineKey | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
| 
 | ||||
| func (x *GetMachineResponse) GetNodeKey() string { | ||||
| 	if x != nil { | ||||
| 		return x.NodeKey | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
| 
 | ||||
| func (x *GetMachineResponse) GetDiscoKey() string { | ||||
| 	if x != nil { | ||||
| 		return x.DiscoKey | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
| 
 | ||||
| func (x *GetMachineResponse) GetIpAddress() string { | ||||
| 	if x != nil { | ||||
| 		return x.IpAddress | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
| 
 | ||||
| func (x *GetMachineResponse) GetName() string { | ||||
| 	if x != nil { | ||||
| 		return x.Name | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
| 
 | ||||
| func (x *GetMachineResponse) GetNamespaceId() uint32 { | ||||
| 	if x != nil { | ||||
| 		return x.NamespaceId | ||||
| 	} | ||||
| 	return 0 | ||||
| } | ||||
| 
 | ||||
| func (x *GetMachineResponse) GetRegistered() bool { | ||||
| 	if x != nil { | ||||
| 		return x.Registered | ||||
| 	} | ||||
| 	return false | ||||
| } | ||||
| 
 | ||||
| func (x *GetMachineResponse) GetRegisterMethod() RegisterMethod { | ||||
| 	if x != nil { | ||||
| 		return x.RegisterMethod | ||||
| 	} | ||||
| 	return RegisterMethod_REGISTER_METHOD_UNSPECIFIED | ||||
| } | ||||
| 
 | ||||
| func (x *GetMachineResponse) GetAuthKeyId() uint32 { | ||||
| 	if x != nil { | ||||
| 		return x.AuthKeyId | ||||
| 	} | ||||
| 	return 0 | ||||
| } | ||||
| 
 | ||||
| func (x *GetMachineResponse) GetLastSeen() *timestamppb.Timestamp { | ||||
| 	if x != nil { | ||||
| 		return x.LastSeen | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| func (x *GetMachineResponse) GetLastSuccessfulUpdate() *timestamppb.Timestamp { | ||||
| 	if x != nil { | ||||
| 		return x.LastSuccessfulUpdate | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| func (x *GetMachineResponse) GetExpiry() *timestamppb.Timestamp { | ||||
| 	if x != nil { | ||||
| 		return x.Expiry | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| type CreateNamespaceRequest struct { | ||||
| 	state         protoimpl.MessageState | ||||
| 	sizeCache     protoimpl.SizeCache | ||||
| 	unknownFields protoimpl.UnknownFields | ||||
| 
 | ||||
| 	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` | ||||
| } | ||||
| 
 | ||||
| func (x *CreateNamespaceRequest) Reset() { | ||||
| 	*x = CreateNamespaceRequest{} | ||||
| 	if protoimpl.UnsafeEnabled { | ||||
| 		mi := &file_headscale_v1_rpc_proto_msgTypes[2] | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		ms.StoreMessageInfo(mi) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func (x *CreateNamespaceRequest) String() string { | ||||
| 	return protoimpl.X.MessageStringOf(x) | ||||
| } | ||||
| 
 | ||||
| func (*CreateNamespaceRequest) ProtoMessage() {} | ||||
| 
 | ||||
| func (x *CreateNamespaceRequest) ProtoReflect() protoreflect.Message { | ||||
| 	mi := &file_headscale_v1_rpc_proto_msgTypes[2] | ||||
| 	if protoimpl.UnsafeEnabled && x != nil { | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		if ms.LoadMessageInfo() == nil { | ||||
| 			ms.StoreMessageInfo(mi) | ||||
| 		} | ||||
| 		return ms | ||||
| 	} | ||||
| 	return mi.MessageOf(x) | ||||
| } | ||||
| 
 | ||||
| // Deprecated: Use CreateNamespaceRequest.ProtoReflect.Descriptor instead.
 | ||||
| func (*CreateNamespaceRequest) Descriptor() ([]byte, []int) { | ||||
| 	return file_headscale_v1_rpc_proto_rawDescGZIP(), []int{2} | ||||
| } | ||||
| 
 | ||||
| func (x *CreateNamespaceRequest) GetName() string { | ||||
| 	if x != nil { | ||||
| 		return x.Name | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
| 
 | ||||
| type CreateNamespaceResponse struct { | ||||
| 	state         protoimpl.MessageState | ||||
| 	sizeCache     protoimpl.SizeCache | ||||
| 	unknownFields protoimpl.UnknownFields | ||||
| 
 | ||||
| 	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` | ||||
| } | ||||
| 
 | ||||
| func (x *CreateNamespaceResponse) Reset() { | ||||
| 	*x = CreateNamespaceResponse{} | ||||
| 	if protoimpl.UnsafeEnabled { | ||||
| 		mi := &file_headscale_v1_rpc_proto_msgTypes[3] | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		ms.StoreMessageInfo(mi) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func (x *CreateNamespaceResponse) String() string { | ||||
| 	return protoimpl.X.MessageStringOf(x) | ||||
| } | ||||
| 
 | ||||
| func (*CreateNamespaceResponse) ProtoMessage() {} | ||||
| 
 | ||||
| func (x *CreateNamespaceResponse) ProtoReflect() protoreflect.Message { | ||||
| 	mi := &file_headscale_v1_rpc_proto_msgTypes[3] | ||||
| 	if protoimpl.UnsafeEnabled && x != nil { | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		if ms.LoadMessageInfo() == nil { | ||||
| 			ms.StoreMessageInfo(mi) | ||||
| 		} | ||||
| 		return ms | ||||
| 	} | ||||
| 	return mi.MessageOf(x) | ||||
| } | ||||
| 
 | ||||
| // Deprecated: Use CreateNamespaceResponse.ProtoReflect.Descriptor instead.
 | ||||
| func (*CreateNamespaceResponse) Descriptor() ([]byte, []int) { | ||||
| 	return file_headscale_v1_rpc_proto_rawDescGZIP(), []int{3} | ||||
| } | ||||
| 
 | ||||
| func (x *CreateNamespaceResponse) GetName() string { | ||||
| 	if x != nil { | ||||
| 		return x.Name | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
| 
 | ||||
| type DeleteNamespaceRequest struct { | ||||
| 	state         protoimpl.MessageState | ||||
| 	sizeCache     protoimpl.SizeCache | ||||
| 	unknownFields protoimpl.UnknownFields | ||||
| 
 | ||||
| 	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` | ||||
| } | ||||
| 
 | ||||
| func (x *DeleteNamespaceRequest) Reset() { | ||||
| 	*x = DeleteNamespaceRequest{} | ||||
| 	if protoimpl.UnsafeEnabled { | ||||
| 		mi := &file_headscale_v1_rpc_proto_msgTypes[4] | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		ms.StoreMessageInfo(mi) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func (x *DeleteNamespaceRequest) String() string { | ||||
| 	return protoimpl.X.MessageStringOf(x) | ||||
| } | ||||
| 
 | ||||
| func (*DeleteNamespaceRequest) ProtoMessage() {} | ||||
| 
 | ||||
| func (x *DeleteNamespaceRequest) ProtoReflect() protoreflect.Message { | ||||
| 	mi := &file_headscale_v1_rpc_proto_msgTypes[4] | ||||
| 	if protoimpl.UnsafeEnabled && x != nil { | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		if ms.LoadMessageInfo() == nil { | ||||
| 			ms.StoreMessageInfo(mi) | ||||
| 		} | ||||
| 		return ms | ||||
| 	} | ||||
| 	return mi.MessageOf(x) | ||||
| } | ||||
| 
 | ||||
| // Deprecated: Use DeleteNamespaceRequest.ProtoReflect.Descriptor instead.
 | ||||
| func (*DeleteNamespaceRequest) Descriptor() ([]byte, []int) { | ||||
| 	return file_headscale_v1_rpc_proto_rawDescGZIP(), []int{4} | ||||
| } | ||||
| 
 | ||||
| func (x *DeleteNamespaceRequest) GetName() string { | ||||
| 	if x != nil { | ||||
| 		return x.Name | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
| 
 | ||||
| type DeleteNamespaceResponse struct { | ||||
| 	state         protoimpl.MessageState | ||||
| 	sizeCache     protoimpl.SizeCache | ||||
| 	unknownFields protoimpl.UnknownFields | ||||
| } | ||||
| 
 | ||||
| func (x *DeleteNamespaceResponse) Reset() { | ||||
| 	*x = DeleteNamespaceResponse{} | ||||
| 	if protoimpl.UnsafeEnabled { | ||||
| 		mi := &file_headscale_v1_rpc_proto_msgTypes[5] | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		ms.StoreMessageInfo(mi) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func (x *DeleteNamespaceResponse) String() string { | ||||
| 	return protoimpl.X.MessageStringOf(x) | ||||
| } | ||||
| 
 | ||||
| func (*DeleteNamespaceResponse) ProtoMessage() {} | ||||
| 
 | ||||
| func (x *DeleteNamespaceResponse) ProtoReflect() protoreflect.Message { | ||||
| 	mi := &file_headscale_v1_rpc_proto_msgTypes[5] | ||||
| 	if protoimpl.UnsafeEnabled && x != nil { | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		if ms.LoadMessageInfo() == nil { | ||||
| 			ms.StoreMessageInfo(mi) | ||||
| 		} | ||||
| 		return ms | ||||
| 	} | ||||
| 	return mi.MessageOf(x) | ||||
| } | ||||
| 
 | ||||
| // Deprecated: Use DeleteNamespaceResponse.ProtoReflect.Descriptor instead.
 | ||||
| func (*DeleteNamespaceResponse) Descriptor() ([]byte, []int) { | ||||
| 	return file_headscale_v1_rpc_proto_rawDescGZIP(), []int{5} | ||||
| } | ||||
| 
 | ||||
| type ListNamespacesRequest struct { | ||||
| 	state         protoimpl.MessageState | ||||
| 	sizeCache     protoimpl.SizeCache | ||||
| 	unknownFields protoimpl.UnknownFields | ||||
| } | ||||
| 
 | ||||
| func (x *ListNamespacesRequest) Reset() { | ||||
| 	*x = ListNamespacesRequest{} | ||||
| 	if protoimpl.UnsafeEnabled { | ||||
| 		mi := &file_headscale_v1_rpc_proto_msgTypes[6] | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		ms.StoreMessageInfo(mi) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func (x *ListNamespacesRequest) String() string { | ||||
| 	return protoimpl.X.MessageStringOf(x) | ||||
| } | ||||
| 
 | ||||
| func (*ListNamespacesRequest) ProtoMessage() {} | ||||
| 
 | ||||
| func (x *ListNamespacesRequest) ProtoReflect() protoreflect.Message { | ||||
| 	mi := &file_headscale_v1_rpc_proto_msgTypes[6] | ||||
| 	if protoimpl.UnsafeEnabled && x != nil { | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		if ms.LoadMessageInfo() == nil { | ||||
| 			ms.StoreMessageInfo(mi) | ||||
| 		} | ||||
| 		return ms | ||||
| 	} | ||||
| 	return mi.MessageOf(x) | ||||
| } | ||||
| 
 | ||||
| // Deprecated: Use ListNamespacesRequest.ProtoReflect.Descriptor instead.
 | ||||
| func (*ListNamespacesRequest) Descriptor() ([]byte, []int) { | ||||
| 	return file_headscale_v1_rpc_proto_rawDescGZIP(), []int{6} | ||||
| } | ||||
| 
 | ||||
| type ListNamespacesResponse struct { | ||||
| 	state         protoimpl.MessageState | ||||
| 	sizeCache     protoimpl.SizeCache | ||||
| 	unknownFields protoimpl.UnknownFields | ||||
| 
 | ||||
| 	Namespaces []string `protobuf:"bytes,1,rep,name=namespaces,proto3" json:"namespaces,omitempty"` | ||||
| } | ||||
| 
 | ||||
| func (x *ListNamespacesResponse) Reset() { | ||||
| 	*x = ListNamespacesResponse{} | ||||
| 	if protoimpl.UnsafeEnabled { | ||||
| 		mi := &file_headscale_v1_rpc_proto_msgTypes[7] | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		ms.StoreMessageInfo(mi) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func (x *ListNamespacesResponse) String() string { | ||||
| 	return protoimpl.X.MessageStringOf(x) | ||||
| } | ||||
| 
 | ||||
| func (*ListNamespacesResponse) ProtoMessage() {} | ||||
| 
 | ||||
| func (x *ListNamespacesResponse) ProtoReflect() protoreflect.Message { | ||||
| 	mi := &file_headscale_v1_rpc_proto_msgTypes[7] | ||||
| 	if protoimpl.UnsafeEnabled && x != nil { | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		if ms.LoadMessageInfo() == nil { | ||||
| 			ms.StoreMessageInfo(mi) | ||||
| 		} | ||||
| 		return ms | ||||
| 	} | ||||
| 	return mi.MessageOf(x) | ||||
| } | ||||
| 
 | ||||
| // Deprecated: Use ListNamespacesResponse.ProtoReflect.Descriptor instead.
 | ||||
| func (*ListNamespacesResponse) Descriptor() ([]byte, []int) { | ||||
| 	return file_headscale_v1_rpc_proto_rawDescGZIP(), []int{7} | ||||
| } | ||||
| 
 | ||||
| func (x *ListNamespacesResponse) GetNamespaces() []string { | ||||
| 	if x != nil { | ||||
| 		return x.Namespaces | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| var File_headscale_v1_rpc_proto protoreflect.FileDescriptor | ||||
| 
 | ||||
| var file_headscale_v1_rpc_proto_rawDesc = []byte{ | ||||
| 	0x0a, 0x16, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x72, | ||||
| 	0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, | ||||
| 	0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, | ||||
| 	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, | ||||
| 	0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, | ||||
| 	0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, | ||||
| 	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, | ||||
| 	0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, | ||||
| 	0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, | ||||
| 	0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x22, 0x99, 0x04, 0x0a, 0x12, 0x47, 0x65, | ||||
| 	0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, | ||||
| 	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, | ||||
| 	0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, | ||||
| 	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x4b, 0x65, | ||||
| 	0x79, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, | ||||
| 	0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09, | ||||
| 	0x64, 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, | ||||
| 	0x08, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, | ||||
| 	0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, | ||||
| 	0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, | ||||
| 	0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, | ||||
| 	0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, | ||||
| 	0x28, 0x0d, 0x52, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, | ||||
| 	0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x18, 0x08, 0x20, | ||||
| 	0x01, 0x28, 0x08, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x12, | ||||
| 	0x45, 0x0a, 0x0f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x68, | ||||
| 	0x6f, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, | ||||
| 	0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, | ||||
| 	0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x0e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, | ||||
| 	0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6b, | ||||
| 	0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x75, 0x74, | ||||
| 	0x68, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, | ||||
| 	0x65, 0x65, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, | ||||
| 	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, | ||||
| 	0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x12, | ||||
| 	0x50, 0x0a, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, | ||||
| 	0x75, 0x6c, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, | ||||
| 	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, | ||||
| 	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x14, 0x6c, 0x61, 0x73, | ||||
| 	0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, | ||||
| 	0x65, 0x12, 0x32, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, | ||||
| 	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, | ||||
| 	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x06, 0x65, | ||||
| 	0x78, 0x70, 0x69, 0x72, 0x79, 0x22, 0x2c, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, | ||||
| 	0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, | ||||
| 	0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, | ||||
| 	0x61, 0x6d, 0x65, 0x22, 0x2d, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, | ||||
| 	0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, | ||||
| 	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, | ||||
| 	0x6d, 0x65, 0x22, 0x2c, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, | ||||
| 	0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, | ||||
| 	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, | ||||
| 	0x22, 0x19, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, | ||||
| 	0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x4c, | ||||
| 	0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, | ||||
| 	0x75, 0x65, 0x73, 0x74, 0x22, 0x38, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, | ||||
| 	0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, | ||||
| 	0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, | ||||
| 	0x28, 0x09, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x2a, 0x82, | ||||
| 	0x01, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x68, 0x6f, | ||||
| 	0x64, 0x12, 0x1f, 0x0a, 0x1b, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x45, | ||||
| 	0x54, 0x48, 0x4f, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, | ||||
| 	0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x4d, | ||||
| 	0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x01, | ||||
| 	0x12, 0x17, 0x0a, 0x13, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x45, 0x54, | ||||
| 	0x48, 0x4f, 0x44, 0x5f, 0x43, 0x4c, 0x49, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x47, | ||||
| 	0x49, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x4f, 0x49, 0x44, | ||||
| 	0x43, 0x10, 0x03, 0x32, 0xfa, 0x03, 0x0a, 0x10, 0x48, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, | ||||
| 	0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x75, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4d, | ||||
| 	0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x1f, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, | ||||
| 	0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, | ||||
| 	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, | ||||
| 	0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, | ||||
| 	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, | ||||
| 	0x1e, 0x12, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, | ||||
| 	0x6e, 0x65, 0x2f, 0x7b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x12, | ||||
| 	0x7c, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, | ||||
| 	0x63, 0x65, 0x12, 0x24, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, | ||||
| 	0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, | ||||
| 	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, | ||||
| 	0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, | ||||
| 	0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, | ||||
| 	0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x22, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, | ||||
| 	0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x79, 0x0a, | ||||
| 	0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, | ||||
| 	0x12, 0x24, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, | ||||
| 	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, | ||||
| 	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, | ||||
| 	0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, | ||||
| 	0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x19, 0x82, | ||||
| 	0xd3, 0xe4, 0x93, 0x02, 0x13, 0x2a, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6e, | ||||
| 	0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x76, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, | ||||
| 	0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x23, 0x2e, 0x68, 0x65, 0x61, | ||||
| 	0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, | ||||
| 	0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, | ||||
| 	0x24, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, | ||||
| 	0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, | ||||
| 	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x12, 0x11, 0x2f, | ||||
| 	0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, | ||||
| 	0x42, 0x29, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6a, | ||||
| 	0x75, 0x61, 0x6e, 0x66, 0x6f, 0x6e, 0x74, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, | ||||
| 	0x65, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, | ||||
| 	0x74, 0x6f, 0x33, | ||||
| } | ||||
| 
 | ||||
| var ( | ||||
| 	file_headscale_v1_rpc_proto_rawDescOnce sync.Once | ||||
| 	file_headscale_v1_rpc_proto_rawDescData = file_headscale_v1_rpc_proto_rawDesc | ||||
| ) | ||||
| 
 | ||||
| func file_headscale_v1_rpc_proto_rawDescGZIP() []byte { | ||||
| 	file_headscale_v1_rpc_proto_rawDescOnce.Do(func() { | ||||
| 		file_headscale_v1_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_headscale_v1_rpc_proto_rawDescData) | ||||
| 	}) | ||||
| 	return file_headscale_v1_rpc_proto_rawDescData | ||||
| } | ||||
| 
 | ||||
| var file_headscale_v1_rpc_proto_enumTypes = make([]protoimpl.EnumInfo, 1) | ||||
| var file_headscale_v1_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 8) | ||||
| var file_headscale_v1_rpc_proto_goTypes = []interface{}{ | ||||
| 	(RegisterMethod)(0),             // 0: headscale.v1.RegisterMethod
 | ||||
| 	(*GetMachineRequest)(nil),       // 1: headscale.v1.GetMachineRequest
 | ||||
| 	(*GetMachineResponse)(nil),      // 2: headscale.v1.GetMachineResponse
 | ||||
| 	(*CreateNamespaceRequest)(nil),  // 3: headscale.v1.CreateNamespaceRequest
 | ||||
| 	(*CreateNamespaceResponse)(nil), // 4: headscale.v1.CreateNamespaceResponse
 | ||||
| 	(*DeleteNamespaceRequest)(nil),  // 5: headscale.v1.DeleteNamespaceRequest
 | ||||
| 	(*DeleteNamespaceResponse)(nil), // 6: headscale.v1.DeleteNamespaceResponse
 | ||||
| 	(*ListNamespacesRequest)(nil),   // 7: headscale.v1.ListNamespacesRequest
 | ||||
| 	(*ListNamespacesResponse)(nil),  // 8: headscale.v1.ListNamespacesResponse
 | ||||
| 	(*timestamppb.Timestamp)(nil),   // 9: google.protobuf.Timestamp
 | ||||
| } | ||||
| var file_headscale_v1_rpc_proto_depIdxs = []int32{ | ||||
| 	0, // 0: headscale.v1.GetMachineResponse.register_method:type_name -> headscale.v1.RegisterMethod
 | ||||
| 	9, // 1: headscale.v1.GetMachineResponse.last_seen:type_name -> google.protobuf.Timestamp
 | ||||
| 	9, // 2: headscale.v1.GetMachineResponse.last_successful_update:type_name -> google.protobuf.Timestamp
 | ||||
| 	9, // 3: headscale.v1.GetMachineResponse.expiry:type_name -> google.protobuf.Timestamp
 | ||||
| 	1, // 4: headscale.v1.HeadscaleService.GetMachine:input_type -> headscale.v1.GetMachineRequest
 | ||||
| 	3, // 5: headscale.v1.HeadscaleService.CreateNamespace:input_type -> headscale.v1.CreateNamespaceRequest
 | ||||
| 	5, // 6: headscale.v1.HeadscaleService.DeleteNamespace:input_type -> headscale.v1.DeleteNamespaceRequest
 | ||||
| 	7, // 7: headscale.v1.HeadscaleService.ListNamespaces:input_type -> headscale.v1.ListNamespacesRequest
 | ||||
| 	2, // 8: headscale.v1.HeadscaleService.GetMachine:output_type -> headscale.v1.GetMachineResponse
 | ||||
| 	4, // 9: headscale.v1.HeadscaleService.CreateNamespace:output_type -> headscale.v1.CreateNamespaceResponse
 | ||||
| 	6, // 10: headscale.v1.HeadscaleService.DeleteNamespace:output_type -> headscale.v1.DeleteNamespaceResponse
 | ||||
| 	8, // 11: headscale.v1.HeadscaleService.ListNamespaces:output_type -> headscale.v1.ListNamespacesResponse
 | ||||
| 	8, // [8:12] is the sub-list for method output_type
 | ||||
| 	4, // [4:8] is the sub-list for method input_type
 | ||||
| 	4, // [4:4] is the sub-list for extension type_name
 | ||||
| 	4, // [4:4] is the sub-list for extension extendee
 | ||||
| 	0, // [0:4] is the sub-list for field type_name
 | ||||
| } | ||||
| 
 | ||||
| func init() { file_headscale_v1_rpc_proto_init() } | ||||
| func file_headscale_v1_rpc_proto_init() { | ||||
| 	if File_headscale_v1_rpc_proto != nil { | ||||
| 		return | ||||
| 	} | ||||
| 	if !protoimpl.UnsafeEnabled { | ||||
| 		file_headscale_v1_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { | ||||
| 			switch v := v.(*GetMachineRequest); i { | ||||
| 			case 0: | ||||
| 				return &v.state | ||||
| 			case 1: | ||||
| 				return &v.sizeCache | ||||
| 			case 2: | ||||
| 				return &v.unknownFields | ||||
| 			default: | ||||
| 				return nil | ||||
| 			} | ||||
| 		} | ||||
| 		file_headscale_v1_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { | ||||
| 			switch v := v.(*GetMachineResponse); i { | ||||
| 			case 0: | ||||
| 				return &v.state | ||||
| 			case 1: | ||||
| 				return &v.sizeCache | ||||
| 			case 2: | ||||
| 				return &v.unknownFields | ||||
| 			default: | ||||
| 				return nil | ||||
| 			} | ||||
| 		} | ||||
| 		file_headscale_v1_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { | ||||
| 			switch v := v.(*CreateNamespaceRequest); i { | ||||
| 			case 0: | ||||
| 				return &v.state | ||||
| 			case 1: | ||||
| 				return &v.sizeCache | ||||
| 			case 2: | ||||
| 				return &v.unknownFields | ||||
| 			default: | ||||
| 				return nil | ||||
| 			} | ||||
| 		} | ||||
| 		file_headscale_v1_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { | ||||
| 			switch v := v.(*CreateNamespaceResponse); i { | ||||
| 			case 0: | ||||
| 				return &v.state | ||||
| 			case 1: | ||||
| 				return &v.sizeCache | ||||
| 			case 2: | ||||
| 				return &v.unknownFields | ||||
| 			default: | ||||
| 				return nil | ||||
| 			} | ||||
| 		} | ||||
| 		file_headscale_v1_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { | ||||
| 			switch v := v.(*DeleteNamespaceRequest); i { | ||||
| 			case 0: | ||||
| 				return &v.state | ||||
| 			case 1: | ||||
| 				return &v.sizeCache | ||||
| 			case 2: | ||||
| 				return &v.unknownFields | ||||
| 			default: | ||||
| 				return nil | ||||
| 			} | ||||
| 		} | ||||
| 		file_headscale_v1_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { | ||||
| 			switch v := v.(*DeleteNamespaceResponse); i { | ||||
| 			case 0: | ||||
| 				return &v.state | ||||
| 			case 1: | ||||
| 				return &v.sizeCache | ||||
| 			case 2: | ||||
| 				return &v.unknownFields | ||||
| 			default: | ||||
| 				return nil | ||||
| 			} | ||||
| 		} | ||||
| 		file_headscale_v1_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { | ||||
| 			switch v := v.(*ListNamespacesRequest); i { | ||||
| 			case 0: | ||||
| 				return &v.state | ||||
| 			case 1: | ||||
| 				return &v.sizeCache | ||||
| 			case 2: | ||||
| 				return &v.unknownFields | ||||
| 			default: | ||||
| 				return nil | ||||
| 			} | ||||
| 		} | ||||
| 		file_headscale_v1_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { | ||||
| 			switch v := v.(*ListNamespacesResponse); i { | ||||
| 			case 0: | ||||
| 				return &v.state | ||||
| 			case 1: | ||||
| 				return &v.sizeCache | ||||
| 			case 2: | ||||
| 				return &v.unknownFields | ||||
| 			default: | ||||
| 				return nil | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	type x struct{} | ||||
| 	out := protoimpl.TypeBuilder{ | ||||
| 		File: protoimpl.DescBuilder{ | ||||
| 			GoPackagePath: reflect.TypeOf(x{}).PkgPath(), | ||||
| 			RawDescriptor: file_headscale_v1_rpc_proto_rawDesc, | ||||
| 			NumEnums:      1, | ||||
| 			NumMessages:   8, | ||||
| 			NumExtensions: 0, | ||||
| 			NumServices:   1, | ||||
| 		}, | ||||
| 		GoTypes:           file_headscale_v1_rpc_proto_goTypes, | ||||
| 		DependencyIndexes: file_headscale_v1_rpc_proto_depIdxs, | ||||
| 		EnumInfos:         file_headscale_v1_rpc_proto_enumTypes, | ||||
| 		MessageInfos:      file_headscale_v1_rpc_proto_msgTypes, | ||||
| 	}.Build() | ||||
| 	File_headscale_v1_rpc_proto = out.File | ||||
| 	file_headscale_v1_rpc_proto_rawDesc = nil | ||||
| 	file_headscale_v1_rpc_proto_goTypes = nil | ||||
| 	file_headscale_v1_rpc_proto_depIdxs = nil | ||||
| } | ||||
							
								
								
									
										414
									
								
								gen/go/headscale/v1/rpc.pb.gw.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										414
									
								
								gen/go/headscale/v1/rpc.pb.gw.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,414 @@ | ||||
| // Code generated by protoc-gen-grpc-gateway. DO NOT EDIT.
 | ||||
| // source: headscale/v1/rpc.proto
 | ||||
| 
 | ||||
| /* | ||||
| Package v1 is a reverse proxy. | ||||
| 
 | ||||
| It translates gRPC into RESTful JSON APIs. | ||||
| */ | ||||
| package v1 | ||||
| 
 | ||||
| import ( | ||||
| 	"context" | ||||
| 	"io" | ||||
| 	"net/http" | ||||
| 
 | ||||
| 	"github.com/grpc-ecosystem/grpc-gateway/v2/runtime" | ||||
| 	"github.com/grpc-ecosystem/grpc-gateway/v2/utilities" | ||||
| 	"google.golang.org/grpc" | ||||
| 	"google.golang.org/grpc/codes" | ||||
| 	"google.golang.org/grpc/grpclog" | ||||
| 	"google.golang.org/grpc/metadata" | ||||
| 	"google.golang.org/grpc/status" | ||||
| 	"google.golang.org/protobuf/proto" | ||||
| ) | ||||
| 
 | ||||
| // Suppress "imported and not used" errors
 | ||||
| var _ codes.Code | ||||
| var _ io.Reader | ||||
| var _ status.Status | ||||
| var _ = runtime.String | ||||
| var _ = utilities.NewDoubleArray | ||||
| var _ = metadata.Join | ||||
| 
 | ||||
| func request_HeadscaleService_GetMachine_0(ctx context.Context, marshaler runtime.Marshaler, client HeadscaleServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { | ||||
| 	var protoReq GetMachineRequest | ||||
| 	var metadata runtime.ServerMetadata | ||||
| 
 | ||||
| 	var ( | ||||
| 		val string | ||||
| 		ok  bool | ||||
| 		err error | ||||
| 		_   = err | ||||
| 	) | ||||
| 
 | ||||
| 	val, ok = pathParams["machine_id"] | ||||
| 	if !ok { | ||||
| 		return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "machine_id") | ||||
| 	} | ||||
| 
 | ||||
| 	protoReq.MachineId, err = runtime.Uint64(val) | ||||
| 	if err != nil { | ||||
| 		return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "machine_id", err) | ||||
| 	} | ||||
| 
 | ||||
| 	msg, err := client.GetMachine(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) | ||||
| 	return msg, metadata, err | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| func local_request_HeadscaleService_GetMachine_0(ctx context.Context, marshaler runtime.Marshaler, server HeadscaleServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { | ||||
| 	var protoReq GetMachineRequest | ||||
| 	var metadata runtime.ServerMetadata | ||||
| 
 | ||||
| 	var ( | ||||
| 		val string | ||||
| 		ok  bool | ||||
| 		err error | ||||
| 		_   = err | ||||
| 	) | ||||
| 
 | ||||
| 	val, ok = pathParams["machine_id"] | ||||
| 	if !ok { | ||||
| 		return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "machine_id") | ||||
| 	} | ||||
| 
 | ||||
| 	protoReq.MachineId, err = runtime.Uint64(val) | ||||
| 	if err != nil { | ||||
| 		return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "machine_id", err) | ||||
| 	} | ||||
| 
 | ||||
| 	msg, err := server.GetMachine(ctx, &protoReq) | ||||
| 	return msg, metadata, err | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| func request_HeadscaleService_CreateNamespace_0(ctx context.Context, marshaler runtime.Marshaler, client HeadscaleServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { | ||||
| 	var protoReq CreateNamespaceRequest | ||||
| 	var metadata runtime.ServerMetadata | ||||
| 
 | ||||
| 	newReader, berr := utilities.IOReaderFactory(req.Body) | ||||
| 	if berr != nil { | ||||
| 		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) | ||||
| 	} | ||||
| 	if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { | ||||
| 		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) | ||||
| 	} | ||||
| 
 | ||||
| 	msg, err := client.CreateNamespace(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) | ||||
| 	return msg, metadata, err | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| func local_request_HeadscaleService_CreateNamespace_0(ctx context.Context, marshaler runtime.Marshaler, server HeadscaleServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { | ||||
| 	var protoReq CreateNamespaceRequest | ||||
| 	var metadata runtime.ServerMetadata | ||||
| 
 | ||||
| 	newReader, berr := utilities.IOReaderFactory(req.Body) | ||||
| 	if berr != nil { | ||||
| 		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) | ||||
| 	} | ||||
| 	if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { | ||||
| 		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) | ||||
| 	} | ||||
| 
 | ||||
| 	msg, err := server.CreateNamespace(ctx, &protoReq) | ||||
| 	return msg, metadata, err | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| var ( | ||||
| 	filter_HeadscaleService_DeleteNamespace_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} | ||||
| ) | ||||
| 
 | ||||
| func request_HeadscaleService_DeleteNamespace_0(ctx context.Context, marshaler runtime.Marshaler, client HeadscaleServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { | ||||
| 	var protoReq DeleteNamespaceRequest | ||||
| 	var metadata runtime.ServerMetadata | ||||
| 
 | ||||
| 	if err := req.ParseForm(); err != nil { | ||||
| 		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) | ||||
| 	} | ||||
| 	if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_HeadscaleService_DeleteNamespace_0); err != nil { | ||||
| 		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) | ||||
| 	} | ||||
| 
 | ||||
| 	msg, err := client.DeleteNamespace(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) | ||||
| 	return msg, metadata, err | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| func local_request_HeadscaleService_DeleteNamespace_0(ctx context.Context, marshaler runtime.Marshaler, server HeadscaleServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { | ||||
| 	var protoReq DeleteNamespaceRequest | ||||
| 	var metadata runtime.ServerMetadata | ||||
| 
 | ||||
| 	if err := req.ParseForm(); err != nil { | ||||
| 		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) | ||||
| 	} | ||||
| 	if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_HeadscaleService_DeleteNamespace_0); err != nil { | ||||
| 		return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) | ||||
| 	} | ||||
| 
 | ||||
| 	msg, err := server.DeleteNamespace(ctx, &protoReq) | ||||
| 	return msg, metadata, err | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| func request_HeadscaleService_ListNamespaces_0(ctx context.Context, marshaler runtime.Marshaler, client HeadscaleServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { | ||||
| 	var protoReq ListNamespacesRequest | ||||
| 	var metadata runtime.ServerMetadata | ||||
| 
 | ||||
| 	msg, err := client.ListNamespaces(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) | ||||
| 	return msg, metadata, err | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| func local_request_HeadscaleService_ListNamespaces_0(ctx context.Context, marshaler runtime.Marshaler, server HeadscaleServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { | ||||
| 	var protoReq ListNamespacesRequest | ||||
| 	var metadata runtime.ServerMetadata | ||||
| 
 | ||||
| 	msg, err := server.ListNamespaces(ctx, &protoReq) | ||||
| 	return msg, metadata, err | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| // RegisterHeadscaleServiceHandlerServer registers the http handlers for service HeadscaleService to "mux".
 | ||||
| // UnaryRPC     :call HeadscaleServiceServer directly.
 | ||||
| // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906.
 | ||||
| // Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterHeadscaleServiceHandlerFromEndpoint instead.
 | ||||
| func RegisterHeadscaleServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server HeadscaleServiceServer) error { | ||||
| 
 | ||||
| 	mux.Handle("GET", pattern_HeadscaleService_GetMachine_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { | ||||
| 		ctx, cancel := context.WithCancel(req.Context()) | ||||
| 		defer cancel() | ||||
| 		var stream runtime.ServerTransportStream | ||||
| 		ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) | ||||
| 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) | ||||
| 		rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/headscale.v1.HeadscaleService/GetMachine", runtime.WithHTTPPathPattern("/api/v1/machine/{machine_id}")) | ||||
| 		if err != nil { | ||||
| 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) | ||||
| 			return | ||||
| 		} | ||||
| 		resp, md, err := local_request_HeadscaleService_GetMachine_0(rctx, inboundMarshaler, server, req, pathParams) | ||||
| 		md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) | ||||
| 		ctx = runtime.NewServerMetadataContext(ctx, md) | ||||
| 		if err != nil { | ||||
| 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) | ||||
| 			return | ||||
| 		} | ||||
| 
 | ||||
| 		forward_HeadscaleService_GetMachine_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) | ||||
| 
 | ||||
| 	}) | ||||
| 
 | ||||
| 	mux.Handle("POST", pattern_HeadscaleService_CreateNamespace_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { | ||||
| 		ctx, cancel := context.WithCancel(req.Context()) | ||||
| 		defer cancel() | ||||
| 		var stream runtime.ServerTransportStream | ||||
| 		ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) | ||||
| 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) | ||||
| 		rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/headscale.v1.HeadscaleService/CreateNamespace", runtime.WithHTTPPathPattern("/api/v1/namespace")) | ||||
| 		if err != nil { | ||||
| 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) | ||||
| 			return | ||||
| 		} | ||||
| 		resp, md, err := local_request_HeadscaleService_CreateNamespace_0(rctx, inboundMarshaler, server, req, pathParams) | ||||
| 		md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) | ||||
| 		ctx = runtime.NewServerMetadataContext(ctx, md) | ||||
| 		if err != nil { | ||||
| 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) | ||||
| 			return | ||||
| 		} | ||||
| 
 | ||||
| 		forward_HeadscaleService_CreateNamespace_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) | ||||
| 
 | ||||
| 	}) | ||||
| 
 | ||||
| 	mux.Handle("DELETE", pattern_HeadscaleService_DeleteNamespace_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { | ||||
| 		ctx, cancel := context.WithCancel(req.Context()) | ||||
| 		defer cancel() | ||||
| 		var stream runtime.ServerTransportStream | ||||
| 		ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) | ||||
| 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) | ||||
| 		rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/headscale.v1.HeadscaleService/DeleteNamespace", runtime.WithHTTPPathPattern("/api/v1/namespace")) | ||||
| 		if err != nil { | ||||
| 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) | ||||
| 			return | ||||
| 		} | ||||
| 		resp, md, err := local_request_HeadscaleService_DeleteNamespace_0(rctx, inboundMarshaler, server, req, pathParams) | ||||
| 		md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) | ||||
| 		ctx = runtime.NewServerMetadataContext(ctx, md) | ||||
| 		if err != nil { | ||||
| 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) | ||||
| 			return | ||||
| 		} | ||||
| 
 | ||||
| 		forward_HeadscaleService_DeleteNamespace_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) | ||||
| 
 | ||||
| 	}) | ||||
| 
 | ||||
| 	mux.Handle("GET", pattern_HeadscaleService_ListNamespaces_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { | ||||
| 		ctx, cancel := context.WithCancel(req.Context()) | ||||
| 		defer cancel() | ||||
| 		var stream runtime.ServerTransportStream | ||||
| 		ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) | ||||
| 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) | ||||
| 		rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/headscale.v1.HeadscaleService/ListNamespaces", runtime.WithHTTPPathPattern("/api/v1/namespace")) | ||||
| 		if err != nil { | ||||
| 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) | ||||
| 			return | ||||
| 		} | ||||
| 		resp, md, err := local_request_HeadscaleService_ListNamespaces_0(rctx, inboundMarshaler, server, req, pathParams) | ||||
| 		md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) | ||||
| 		ctx = runtime.NewServerMetadataContext(ctx, md) | ||||
| 		if err != nil { | ||||
| 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) | ||||
| 			return | ||||
| 		} | ||||
| 
 | ||||
| 		forward_HeadscaleService_ListNamespaces_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) | ||||
| 
 | ||||
| 	}) | ||||
| 
 | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| // RegisterHeadscaleServiceHandlerFromEndpoint is same as RegisterHeadscaleServiceHandler but
 | ||||
| // automatically dials to "endpoint" and closes the connection when "ctx" gets done.
 | ||||
| func RegisterHeadscaleServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { | ||||
| 	conn, err := grpc.Dial(endpoint, opts...) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	defer func() { | ||||
| 		if err != nil { | ||||
| 			if cerr := conn.Close(); cerr != nil { | ||||
| 				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) | ||||
| 			} | ||||
| 			return | ||||
| 		} | ||||
| 		go func() { | ||||
| 			<-ctx.Done() | ||||
| 			if cerr := conn.Close(); cerr != nil { | ||||
| 				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) | ||||
| 			} | ||||
| 		}() | ||||
| 	}() | ||||
| 
 | ||||
| 	return RegisterHeadscaleServiceHandler(ctx, mux, conn) | ||||
| } | ||||
| 
 | ||||
| // RegisterHeadscaleServiceHandler registers the http handlers for service HeadscaleService to "mux".
 | ||||
| // The handlers forward requests to the grpc endpoint over "conn".
 | ||||
| func RegisterHeadscaleServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { | ||||
| 	return RegisterHeadscaleServiceHandlerClient(ctx, mux, NewHeadscaleServiceClient(conn)) | ||||
| } | ||||
| 
 | ||||
| // RegisterHeadscaleServiceHandlerClient registers the http handlers for service HeadscaleService
 | ||||
| // to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "HeadscaleServiceClient".
 | ||||
| // Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "HeadscaleServiceClient"
 | ||||
| // doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in
 | ||||
| // "HeadscaleServiceClient" to call the correct interceptors.
 | ||||
| func RegisterHeadscaleServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client HeadscaleServiceClient) error { | ||||
| 
 | ||||
| 	mux.Handle("GET", pattern_HeadscaleService_GetMachine_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { | ||||
| 		ctx, cancel := context.WithCancel(req.Context()) | ||||
| 		defer cancel() | ||||
| 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) | ||||
| 		rctx, err := runtime.AnnotateContext(ctx, mux, req, "/headscale.v1.HeadscaleService/GetMachine", runtime.WithHTTPPathPattern("/api/v1/machine/{machine_id}")) | ||||
| 		if err != nil { | ||||
| 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) | ||||
| 			return | ||||
| 		} | ||||
| 		resp, md, err := request_HeadscaleService_GetMachine_0(rctx, inboundMarshaler, client, req, pathParams) | ||||
| 		ctx = runtime.NewServerMetadataContext(ctx, md) | ||||
| 		if err != nil { | ||||
| 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) | ||||
| 			return | ||||
| 		} | ||||
| 
 | ||||
| 		forward_HeadscaleService_GetMachine_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) | ||||
| 
 | ||||
| 	}) | ||||
| 
 | ||||
| 	mux.Handle("POST", pattern_HeadscaleService_CreateNamespace_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { | ||||
| 		ctx, cancel := context.WithCancel(req.Context()) | ||||
| 		defer cancel() | ||||
| 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) | ||||
| 		rctx, err := runtime.AnnotateContext(ctx, mux, req, "/headscale.v1.HeadscaleService/CreateNamespace", runtime.WithHTTPPathPattern("/api/v1/namespace")) | ||||
| 		if err != nil { | ||||
| 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) | ||||
| 			return | ||||
| 		} | ||||
| 		resp, md, err := request_HeadscaleService_CreateNamespace_0(rctx, inboundMarshaler, client, req, pathParams) | ||||
| 		ctx = runtime.NewServerMetadataContext(ctx, md) | ||||
| 		if err != nil { | ||||
| 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) | ||||
| 			return | ||||
| 		} | ||||
| 
 | ||||
| 		forward_HeadscaleService_CreateNamespace_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) | ||||
| 
 | ||||
| 	}) | ||||
| 
 | ||||
| 	mux.Handle("DELETE", pattern_HeadscaleService_DeleteNamespace_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { | ||||
| 		ctx, cancel := context.WithCancel(req.Context()) | ||||
| 		defer cancel() | ||||
| 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) | ||||
| 		rctx, err := runtime.AnnotateContext(ctx, mux, req, "/headscale.v1.HeadscaleService/DeleteNamespace", runtime.WithHTTPPathPattern("/api/v1/namespace")) | ||||
| 		if err != nil { | ||||
| 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) | ||||
| 			return | ||||
| 		} | ||||
| 		resp, md, err := request_HeadscaleService_DeleteNamespace_0(rctx, inboundMarshaler, client, req, pathParams) | ||||
| 		ctx = runtime.NewServerMetadataContext(ctx, md) | ||||
| 		if err != nil { | ||||
| 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) | ||||
| 			return | ||||
| 		} | ||||
| 
 | ||||
| 		forward_HeadscaleService_DeleteNamespace_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) | ||||
| 
 | ||||
| 	}) | ||||
| 
 | ||||
| 	mux.Handle("GET", pattern_HeadscaleService_ListNamespaces_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { | ||||
| 		ctx, cancel := context.WithCancel(req.Context()) | ||||
| 		defer cancel() | ||||
| 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) | ||||
| 		rctx, err := runtime.AnnotateContext(ctx, mux, req, "/headscale.v1.HeadscaleService/ListNamespaces", runtime.WithHTTPPathPattern("/api/v1/namespace")) | ||||
| 		if err != nil { | ||||
| 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) | ||||
| 			return | ||||
| 		} | ||||
| 		resp, md, err := request_HeadscaleService_ListNamespaces_0(rctx, inboundMarshaler, client, req, pathParams) | ||||
| 		ctx = runtime.NewServerMetadataContext(ctx, md) | ||||
| 		if err != nil { | ||||
| 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) | ||||
| 			return | ||||
| 		} | ||||
| 
 | ||||
| 		forward_HeadscaleService_ListNamespaces_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) | ||||
| 
 | ||||
| 	}) | ||||
| 
 | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| var ( | ||||
| 	pattern_HeadscaleService_GetMachine_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v1", "machine", "machine_id"}, "")) | ||||
| 
 | ||||
| 	pattern_HeadscaleService_CreateNamespace_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "namespace"}, "")) | ||||
| 
 | ||||
| 	pattern_HeadscaleService_DeleteNamespace_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "namespace"}, "")) | ||||
| 
 | ||||
| 	pattern_HeadscaleService_ListNamespaces_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "namespace"}, "")) | ||||
| ) | ||||
| 
 | ||||
| var ( | ||||
| 	forward_HeadscaleService_GetMachine_0 = runtime.ForwardResponseMessage | ||||
| 
 | ||||
| 	forward_HeadscaleService_CreateNamespace_0 = runtime.ForwardResponseMessage | ||||
| 
 | ||||
| 	forward_HeadscaleService_DeleteNamespace_0 = runtime.ForwardResponseMessage | ||||
| 
 | ||||
| 	forward_HeadscaleService_ListNamespaces_0 = runtime.ForwardResponseMessage | ||||
| ) | ||||
							
								
								
									
										209
									
								
								gen/go/headscale/v1/rpc_grpc.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										209
									
								
								gen/go/headscale/v1/rpc_grpc.pb.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,209 @@ | ||||
| // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 | ||||
| 
 | ||||
| package v1 | ||||
| 
 | ||||
| import ( | ||||
| 	context "context" | ||||
| 	grpc "google.golang.org/grpc" | ||||
| 	codes "google.golang.org/grpc/codes" | ||||
| 	status "google.golang.org/grpc/status" | ||||
| ) | ||||
| 
 | ||||
| // This is a compile-time assertion to ensure that this generated file
 | ||||
| // is compatible with the grpc package it is being compiled against.
 | ||||
| // Requires gRPC-Go v1.32.0 or later.
 | ||||
| const _ = grpc.SupportPackageIsVersion7 | ||||
| 
 | ||||
| // HeadscaleServiceClient is the client API for HeadscaleService service.
 | ||||
| //
 | ||||
| // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
 | ||||
| type HeadscaleServiceClient interface { | ||||
| 	GetMachine(ctx context.Context, in *GetMachineRequest, opts ...grpc.CallOption) (*GetMachineResponse, error) | ||||
| 	CreateNamespace(ctx context.Context, in *CreateNamespaceRequest, opts ...grpc.CallOption) (*CreateNamespaceResponse, error) | ||||
| 	DeleteNamespace(ctx context.Context, in *DeleteNamespaceRequest, opts ...grpc.CallOption) (*DeleteNamespaceResponse, error) | ||||
| 	ListNamespaces(ctx context.Context, in *ListNamespacesRequest, opts ...grpc.CallOption) (*ListNamespacesResponse, error) | ||||
| } | ||||
| 
 | ||||
| type headscaleServiceClient struct { | ||||
| 	cc grpc.ClientConnInterface | ||||
| } | ||||
| 
 | ||||
| func NewHeadscaleServiceClient(cc grpc.ClientConnInterface) HeadscaleServiceClient { | ||||
| 	return &headscaleServiceClient{cc} | ||||
| } | ||||
| 
 | ||||
| func (c *headscaleServiceClient) GetMachine(ctx context.Context, in *GetMachineRequest, opts ...grpc.CallOption) (*GetMachineResponse, error) { | ||||
| 	out := new(GetMachineResponse) | ||||
| 	err := c.cc.Invoke(ctx, "/headscale.v1.HeadscaleService/GetMachine", in, out, opts...) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	return out, nil | ||||
| } | ||||
| 
 | ||||
| func (c *headscaleServiceClient) CreateNamespace(ctx context.Context, in *CreateNamespaceRequest, opts ...grpc.CallOption) (*CreateNamespaceResponse, error) { | ||||
| 	out := new(CreateNamespaceResponse) | ||||
| 	err := c.cc.Invoke(ctx, "/headscale.v1.HeadscaleService/CreateNamespace", in, out, opts...) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	return out, nil | ||||
| } | ||||
| 
 | ||||
| func (c *headscaleServiceClient) DeleteNamespace(ctx context.Context, in *DeleteNamespaceRequest, opts ...grpc.CallOption) (*DeleteNamespaceResponse, error) { | ||||
| 	out := new(DeleteNamespaceResponse) | ||||
| 	err := c.cc.Invoke(ctx, "/headscale.v1.HeadscaleService/DeleteNamespace", in, out, opts...) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	return out, nil | ||||
| } | ||||
| 
 | ||||
| func (c *headscaleServiceClient) ListNamespaces(ctx context.Context, in *ListNamespacesRequest, opts ...grpc.CallOption) (*ListNamespacesResponse, error) { | ||||
| 	out := new(ListNamespacesResponse) | ||||
| 	err := c.cc.Invoke(ctx, "/headscale.v1.HeadscaleService/ListNamespaces", in, out, opts...) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	return out, nil | ||||
| } | ||||
| 
 | ||||
| // HeadscaleServiceServer is the server API for HeadscaleService service.
 | ||||
| // All implementations must embed UnimplementedHeadscaleServiceServer
 | ||||
| // for forward compatibility
 | ||||
| type HeadscaleServiceServer interface { | ||||
| 	GetMachine(context.Context, *GetMachineRequest) (*GetMachineResponse, error) | ||||
| 	CreateNamespace(context.Context, *CreateNamespaceRequest) (*CreateNamespaceResponse, error) | ||||
| 	DeleteNamespace(context.Context, *DeleteNamespaceRequest) (*DeleteNamespaceResponse, error) | ||||
| 	ListNamespaces(context.Context, *ListNamespacesRequest) (*ListNamespacesResponse, error) | ||||
| 	mustEmbedUnimplementedHeadscaleServiceServer() | ||||
| } | ||||
| 
 | ||||
| // UnimplementedHeadscaleServiceServer must be embedded to have forward compatible implementations.
 | ||||
| type UnimplementedHeadscaleServiceServer struct { | ||||
| } | ||||
| 
 | ||||
| func (UnimplementedHeadscaleServiceServer) GetMachine(context.Context, *GetMachineRequest) (*GetMachineResponse, error) { | ||||
| 	return nil, status.Errorf(codes.Unimplemented, "method GetMachine not implemented") | ||||
| } | ||||
| func (UnimplementedHeadscaleServiceServer) CreateNamespace(context.Context, *CreateNamespaceRequest) (*CreateNamespaceResponse, error) { | ||||
| 	return nil, status.Errorf(codes.Unimplemented, "method CreateNamespace not implemented") | ||||
| } | ||||
| func (UnimplementedHeadscaleServiceServer) DeleteNamespace(context.Context, *DeleteNamespaceRequest) (*DeleteNamespaceResponse, error) { | ||||
| 	return nil, status.Errorf(codes.Unimplemented, "method DeleteNamespace not implemented") | ||||
| } | ||||
| func (UnimplementedHeadscaleServiceServer) ListNamespaces(context.Context, *ListNamespacesRequest) (*ListNamespacesResponse, error) { | ||||
| 	return nil, status.Errorf(codes.Unimplemented, "method ListNamespaces not implemented") | ||||
| } | ||||
| func (UnimplementedHeadscaleServiceServer) mustEmbedUnimplementedHeadscaleServiceServer() {} | ||||
| 
 | ||||
| // UnsafeHeadscaleServiceServer may be embedded to opt out of forward compatibility for this service.
 | ||||
| // Use of this interface is not recommended, as added methods to HeadscaleServiceServer will
 | ||||
| // result in compilation errors.
 | ||||
| type UnsafeHeadscaleServiceServer interface { | ||||
| 	mustEmbedUnimplementedHeadscaleServiceServer() | ||||
| } | ||||
| 
 | ||||
| func RegisterHeadscaleServiceServer(s grpc.ServiceRegistrar, srv HeadscaleServiceServer) { | ||||
| 	s.RegisterService(&HeadscaleService_ServiceDesc, srv) | ||||
| } | ||||
| 
 | ||||
| func _HeadscaleService_GetMachine_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||
| 	in := new(GetMachineRequest) | ||||
| 	if err := dec(in); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	if interceptor == nil { | ||||
| 		return srv.(HeadscaleServiceServer).GetMachine(ctx, in) | ||||
| 	} | ||||
| 	info := &grpc.UnaryServerInfo{ | ||||
| 		Server:     srv, | ||||
| 		FullMethod: "/headscale.v1.HeadscaleService/GetMachine", | ||||
| 	} | ||||
| 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { | ||||
| 		return srv.(HeadscaleServiceServer).GetMachine(ctx, req.(*GetMachineRequest)) | ||||
| 	} | ||||
| 	return interceptor(ctx, in, info, handler) | ||||
| } | ||||
| 
 | ||||
| func _HeadscaleService_CreateNamespace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||
| 	in := new(CreateNamespaceRequest) | ||||
| 	if err := dec(in); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	if interceptor == nil { | ||||
| 		return srv.(HeadscaleServiceServer).CreateNamespace(ctx, in) | ||||
| 	} | ||||
| 	info := &grpc.UnaryServerInfo{ | ||||
| 		Server:     srv, | ||||
| 		FullMethod: "/headscale.v1.HeadscaleService/CreateNamespace", | ||||
| 	} | ||||
| 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { | ||||
| 		return srv.(HeadscaleServiceServer).CreateNamespace(ctx, req.(*CreateNamespaceRequest)) | ||||
| 	} | ||||
| 	return interceptor(ctx, in, info, handler) | ||||
| } | ||||
| 
 | ||||
| func _HeadscaleService_DeleteNamespace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||
| 	in := new(DeleteNamespaceRequest) | ||||
| 	if err := dec(in); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	if interceptor == nil { | ||||
| 		return srv.(HeadscaleServiceServer).DeleteNamespace(ctx, in) | ||||
| 	} | ||||
| 	info := &grpc.UnaryServerInfo{ | ||||
| 		Server:     srv, | ||||
| 		FullMethod: "/headscale.v1.HeadscaleService/DeleteNamespace", | ||||
| 	} | ||||
| 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { | ||||
| 		return srv.(HeadscaleServiceServer).DeleteNamespace(ctx, req.(*DeleteNamespaceRequest)) | ||||
| 	} | ||||
| 	return interceptor(ctx, in, info, handler) | ||||
| } | ||||
| 
 | ||||
| func _HeadscaleService_ListNamespaces_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||
| 	in := new(ListNamespacesRequest) | ||||
| 	if err := dec(in); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	if interceptor == nil { | ||||
| 		return srv.(HeadscaleServiceServer).ListNamespaces(ctx, in) | ||||
| 	} | ||||
| 	info := &grpc.UnaryServerInfo{ | ||||
| 		Server:     srv, | ||||
| 		FullMethod: "/headscale.v1.HeadscaleService/ListNamespaces", | ||||
| 	} | ||||
| 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { | ||||
| 		return srv.(HeadscaleServiceServer).ListNamespaces(ctx, req.(*ListNamespacesRequest)) | ||||
| 	} | ||||
| 	return interceptor(ctx, in, info, handler) | ||||
| } | ||||
| 
 | ||||
| // HeadscaleService_ServiceDesc is the grpc.ServiceDesc for HeadscaleService service.
 | ||||
| // It's only intended for direct use with grpc.RegisterService,
 | ||||
| // and not to be introspected or modified (even as a copy)
 | ||||
| var HeadscaleService_ServiceDesc = grpc.ServiceDesc{ | ||||
| 	ServiceName: "headscale.v1.HeadscaleService", | ||||
| 	HandlerType: (*HeadscaleServiceServer)(nil), | ||||
| 	Methods: []grpc.MethodDesc{ | ||||
| 		{ | ||||
| 			MethodName: "GetMachine", | ||||
| 			Handler:    _HeadscaleService_GetMachine_Handler, | ||||
| 		}, | ||||
| 		{ | ||||
| 			MethodName: "CreateNamespace", | ||||
| 			Handler:    _HeadscaleService_CreateNamespace_Handler, | ||||
| 		}, | ||||
| 		{ | ||||
| 			MethodName: "DeleteNamespace", | ||||
| 			Handler:    _HeadscaleService_DeleteNamespace_Handler, | ||||
| 		}, | ||||
| 		{ | ||||
| 			MethodName: "ListNamespaces", | ||||
| 			Handler:    _HeadscaleService_ListNamespaces_Handler, | ||||
| 		}, | ||||
| 	}, | ||||
| 	Streams:  []grpc.StreamDesc{}, | ||||
| 	Metadata: "headscale/v1/rpc.proto", | ||||
| } | ||||
| @ -1,702 +0,0 @@ | ||||
| // Code generated by protoc-gen-go. DO NOT EDIT.
 | ||||
| // versions:
 | ||||
| // 	protoc-gen-go v1.27.1
 | ||||
| // 	protoc        v3.18.1
 | ||||
| // source: v1/headscale.proto
 | ||||
| 
 | ||||
| package v1 | ||||
| 
 | ||||
| import ( | ||||
| 	_ "github.com/infobloxopen/protoc-gen-gorm/options" | ||||
| 	_ "google.golang.org/genproto/googleapis/api/annotations" | ||||
| 	protoreflect "google.golang.org/protobuf/reflect/protoreflect" | ||||
| 	protoimpl "google.golang.org/protobuf/runtime/protoimpl" | ||||
| 	timestamppb "google.golang.org/protobuf/types/known/timestamppb" | ||||
| 	reflect "reflect" | ||||
| 	sync "sync" | ||||
| ) | ||||
| 
 | ||||
| const ( | ||||
| 	// Verify that this generated code is sufficiently up-to-date.
 | ||||
| 	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) | ||||
| 	// Verify that runtime/protoimpl is sufficiently up-to-date.
 | ||||
| 	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) | ||||
| ) | ||||
| 
 | ||||
| type RegisterMethod int32 | ||||
| 
 | ||||
| const ( | ||||
| 	RegisterMethod_AUTH_KEY RegisterMethod = 0 | ||||
| 	RegisterMethod_CLI      RegisterMethod = 1 | ||||
| 	RegisterMethod_OIDC     RegisterMethod = 2 | ||||
| ) | ||||
| 
 | ||||
| // Enum value maps for RegisterMethod.
 | ||||
| var ( | ||||
| 	RegisterMethod_name = map[int32]string{ | ||||
| 		0: "AUTH_KEY", | ||||
| 		1: "CLI", | ||||
| 		2: "OIDC", | ||||
| 	} | ||||
| 	RegisterMethod_value = map[string]int32{ | ||||
| 		"AUTH_KEY": 0, | ||||
| 		"CLI":      1, | ||||
| 		"OIDC":     2, | ||||
| 	} | ||||
| ) | ||||
| 
 | ||||
| func (x RegisterMethod) Enum() *RegisterMethod { | ||||
| 	p := new(RegisterMethod) | ||||
| 	*p = x | ||||
| 	return p | ||||
| } | ||||
| 
 | ||||
| func (x RegisterMethod) String() string { | ||||
| 	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) | ||||
| } | ||||
| 
 | ||||
| func (RegisterMethod) Descriptor() protoreflect.EnumDescriptor { | ||||
| 	return file_v1_headscale_proto_enumTypes[0].Descriptor() | ||||
| } | ||||
| 
 | ||||
| func (RegisterMethod) Type() protoreflect.EnumType { | ||||
| 	return &file_v1_headscale_proto_enumTypes[0] | ||||
| } | ||||
| 
 | ||||
| func (x RegisterMethod) Number() protoreflect.EnumNumber { | ||||
| 	return protoreflect.EnumNumber(x) | ||||
| } | ||||
| 
 | ||||
| // Deprecated: Use RegisterMethod.Descriptor instead.
 | ||||
| func (RegisterMethod) EnumDescriptor() ([]byte, []int) { | ||||
| 	return file_v1_headscale_proto_rawDescGZIP(), []int{0} | ||||
| } | ||||
| 
 | ||||
| type Namespace struct { | ||||
| 	state         protoimpl.MessageState | ||||
| 	sizeCache     protoimpl.SizeCache | ||||
| 	unknownFields protoimpl.UnknownFields | ||||
| 
 | ||||
| 	Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"` | ||||
| } | ||||
| 
 | ||||
| func (x *Namespace) Reset() { | ||||
| 	*x = Namespace{} | ||||
| 	if protoimpl.UnsafeEnabled { | ||||
| 		mi := &file_v1_headscale_proto_msgTypes[0] | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		ms.StoreMessageInfo(mi) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func (x *Namespace) String() string { | ||||
| 	return protoimpl.X.MessageStringOf(x) | ||||
| } | ||||
| 
 | ||||
| func (*Namespace) ProtoMessage() {} | ||||
| 
 | ||||
| func (x *Namespace) ProtoReflect() protoreflect.Message { | ||||
| 	mi := &file_v1_headscale_proto_msgTypes[0] | ||||
| 	if protoimpl.UnsafeEnabled && x != nil { | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		if ms.LoadMessageInfo() == nil { | ||||
| 			ms.StoreMessageInfo(mi) | ||||
| 		} | ||||
| 		return ms | ||||
| 	} | ||||
| 	return mi.MessageOf(x) | ||||
| } | ||||
| 
 | ||||
| // Deprecated: Use Namespace.ProtoReflect.Descriptor instead.
 | ||||
| func (*Namespace) Descriptor() ([]byte, []int) { | ||||
| 	return file_v1_headscale_proto_rawDescGZIP(), []int{0} | ||||
| } | ||||
| 
 | ||||
| func (x *Namespace) GetName() string { | ||||
| 	if x != nil { | ||||
| 		return x.Name | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
| 
 | ||||
| type PreAuthKey struct { | ||||
| 	state         protoimpl.MessageState | ||||
| 	sizeCache     protoimpl.SizeCache | ||||
| 	unknownFields protoimpl.UnknownFields | ||||
| 
 | ||||
| 	ID          uint64                 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` | ||||
| 	Key         string                 `protobuf:"bytes,2,opt,name=Key,proto3" json:"Key,omitempty"` | ||||
| 	NamespaceID uint32                 `protobuf:"varint,3,opt,name=NamespaceID,proto3" json:"NamespaceID,omitempty"` | ||||
| 	Namespace   *Namespace             `protobuf:"bytes,4,opt,name=Namespace,proto3" json:"Namespace,omitempty"` | ||||
| 	Reusable    bool                   `protobuf:"varint,5,opt,name=Reusable,proto3" json:"Reusable,omitempty"` | ||||
| 	Ephemeral   bool                   `protobuf:"varint,6,opt,name=Ephemeral,proto3" json:"Ephemeral,omitempty"` | ||||
| 	Used        bool                   `protobuf:"varint,7,opt,name=Used,proto3" json:"Used,omitempty"` | ||||
| 	CreatedAt   *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=CreatedAt,proto3" json:"CreatedAt,omitempty"` | ||||
| 	Expiration  *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=Expiration,proto3" json:"Expiration,omitempty"` | ||||
| } | ||||
| 
 | ||||
| func (x *PreAuthKey) Reset() { | ||||
| 	*x = PreAuthKey{} | ||||
| 	if protoimpl.UnsafeEnabled { | ||||
| 		mi := &file_v1_headscale_proto_msgTypes[1] | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		ms.StoreMessageInfo(mi) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func (x *PreAuthKey) String() string { | ||||
| 	return protoimpl.X.MessageStringOf(x) | ||||
| } | ||||
| 
 | ||||
| func (*PreAuthKey) ProtoMessage() {} | ||||
| 
 | ||||
| func (x *PreAuthKey) ProtoReflect() protoreflect.Message { | ||||
| 	mi := &file_v1_headscale_proto_msgTypes[1] | ||||
| 	if protoimpl.UnsafeEnabled && x != nil { | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		if ms.LoadMessageInfo() == nil { | ||||
| 			ms.StoreMessageInfo(mi) | ||||
| 		} | ||||
| 		return ms | ||||
| 	} | ||||
| 	return mi.MessageOf(x) | ||||
| } | ||||
| 
 | ||||
| // Deprecated: Use PreAuthKey.ProtoReflect.Descriptor instead.
 | ||||
| func (*PreAuthKey) Descriptor() ([]byte, []int) { | ||||
| 	return file_v1_headscale_proto_rawDescGZIP(), []int{1} | ||||
| } | ||||
| 
 | ||||
| func (x *PreAuthKey) GetID() uint64 { | ||||
| 	if x != nil { | ||||
| 		return x.ID | ||||
| 	} | ||||
| 	return 0 | ||||
| } | ||||
| 
 | ||||
| func (x *PreAuthKey) GetKey() string { | ||||
| 	if x != nil { | ||||
| 		return x.Key | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
| 
 | ||||
| func (x *PreAuthKey) GetNamespaceID() uint32 { | ||||
| 	if x != nil { | ||||
| 		return x.NamespaceID | ||||
| 	} | ||||
| 	return 0 | ||||
| } | ||||
| 
 | ||||
| func (x *PreAuthKey) GetNamespace() *Namespace { | ||||
| 	if x != nil { | ||||
| 		return x.Namespace | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| func (x *PreAuthKey) GetReusable() bool { | ||||
| 	if x != nil { | ||||
| 		return x.Reusable | ||||
| 	} | ||||
| 	return false | ||||
| } | ||||
| 
 | ||||
| func (x *PreAuthKey) GetEphemeral() bool { | ||||
| 	if x != nil { | ||||
| 		return x.Ephemeral | ||||
| 	} | ||||
| 	return false | ||||
| } | ||||
| 
 | ||||
| func (x *PreAuthKey) GetUsed() bool { | ||||
| 	if x != nil { | ||||
| 		return x.Used | ||||
| 	} | ||||
| 	return false | ||||
| } | ||||
| 
 | ||||
| func (x *PreAuthKey) GetCreatedAt() *timestamppb.Timestamp { | ||||
| 	if x != nil { | ||||
| 		return x.CreatedAt | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| func (x *PreAuthKey) GetExpiration() *timestamppb.Timestamp { | ||||
| 	if x != nil { | ||||
| 		return x.Expiration | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| type GetMachineRequest struct { | ||||
| 	state         protoimpl.MessageState | ||||
| 	sizeCache     protoimpl.SizeCache | ||||
| 	unknownFields protoimpl.UnknownFields | ||||
| 
 | ||||
| 	MachineId uint64 `protobuf:"varint,1,opt,name=machine_id,json=machineId,proto3" json:"machine_id,omitempty"` | ||||
| } | ||||
| 
 | ||||
| func (x *GetMachineRequest) Reset() { | ||||
| 	*x = GetMachineRequest{} | ||||
| 	if protoimpl.UnsafeEnabled { | ||||
| 		mi := &file_v1_headscale_proto_msgTypes[2] | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		ms.StoreMessageInfo(mi) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func (x *GetMachineRequest) String() string { | ||||
| 	return protoimpl.X.MessageStringOf(x) | ||||
| } | ||||
| 
 | ||||
| func (*GetMachineRequest) ProtoMessage() {} | ||||
| 
 | ||||
| func (x *GetMachineRequest) ProtoReflect() protoreflect.Message { | ||||
| 	mi := &file_v1_headscale_proto_msgTypes[2] | ||||
| 	if protoimpl.UnsafeEnabled && x != nil { | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		if ms.LoadMessageInfo() == nil { | ||||
| 			ms.StoreMessageInfo(mi) | ||||
| 		} | ||||
| 		return ms | ||||
| 	} | ||||
| 	return mi.MessageOf(x) | ||||
| } | ||||
| 
 | ||||
| // Deprecated: Use GetMachineRequest.ProtoReflect.Descriptor instead.
 | ||||
| func (*GetMachineRequest) Descriptor() ([]byte, []int) { | ||||
| 	return file_v1_headscale_proto_rawDescGZIP(), []int{2} | ||||
| } | ||||
| 
 | ||||
| func (x *GetMachineRequest) GetMachineId() uint64 { | ||||
| 	if x != nil { | ||||
| 		return x.MachineId | ||||
| 	} | ||||
| 	return 0 | ||||
| } | ||||
| 
 | ||||
| type Machine struct { | ||||
| 	state         protoimpl.MessageState | ||||
| 	sizeCache     protoimpl.SizeCache | ||||
| 	unknownFields protoimpl.UnknownFields | ||||
| 
 | ||||
| 	ID                   uint64                 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` | ||||
| 	MachineKey           string                 `protobuf:"bytes,2,opt,name=MachineKey,proto3" json:"MachineKey,omitempty"` | ||||
| 	NodeKey              string                 `protobuf:"bytes,3,opt,name=NodeKey,proto3" json:"NodeKey,omitempty"` | ||||
| 	DiscoKey             string                 `protobuf:"bytes,4,opt,name=DiscoKey,proto3" json:"DiscoKey,omitempty"` | ||||
| 	IPAddress            string                 `protobuf:"bytes,5,opt,name=IPAddress,proto3" json:"IPAddress,omitempty"` | ||||
| 	Name                 string                 `protobuf:"bytes,6,opt,name=Name,proto3" json:"Name,omitempty"` | ||||
| 	NamespaceID          uint32                 `protobuf:"varint,7,opt,name=NamespaceID,proto3" json:"NamespaceID,omitempty"` | ||||
| 	Registered           bool                   `protobuf:"varint,8,opt,name=Registered,proto3" json:"Registered,omitempty"` | ||||
| 	RegisterMethod       RegisterMethod         `protobuf:"varint,9,opt,name=RegisterMethod,proto3,enum=headscale.v1.RegisterMethod" json:"RegisterMethod,omitempty"` | ||||
| 	AuthKeyID            uint32                 `protobuf:"varint,10,opt,name=AuthKeyID,proto3" json:"AuthKeyID,omitempty"` | ||||
| 	AuthKey              *PreAuthKey            `protobuf:"bytes,11,opt,name=AuthKey,proto3" json:"AuthKey,omitempty"` | ||||
| 	LastSeen             *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=LastSeen,proto3" json:"LastSeen,omitempty"` | ||||
| 	LastSuccessfulUpdate *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=LastSuccessfulUpdate,proto3" json:"LastSuccessfulUpdate,omitempty"` | ||||
| 	Expiry               *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=Expiry,proto3" json:"Expiry,omitempty"` | ||||
| 	HostInfo             []byte                 `protobuf:"bytes,15,opt,name=HostInfo,proto3" json:"HostInfo,omitempty"` | ||||
| 	Endpoints            []byte                 `protobuf:"bytes,16,opt,name=Endpoints,proto3" json:"Endpoints,omitempty"` | ||||
| 	EnabledRoutes        []byte                 `protobuf:"bytes,17,opt,name=EnabledRoutes,proto3" json:"EnabledRoutes,omitempty"` | ||||
| 	CreatedAt            *timestamppb.Timestamp `protobuf:"bytes,18,opt,name=CreatedAt,proto3" json:"CreatedAt,omitempty"` | ||||
| 	UpdatedAt            *timestamppb.Timestamp `protobuf:"bytes,19,opt,name=UpdatedAt,proto3" json:"UpdatedAt,omitempty"` | ||||
| 	DeletedAt            *timestamppb.Timestamp `protobuf:"bytes,20,opt,name=DeletedAt,proto3" json:"DeletedAt,omitempty"` | ||||
| } | ||||
| 
 | ||||
| func (x *Machine) Reset() { | ||||
| 	*x = Machine{} | ||||
| 	if protoimpl.UnsafeEnabled { | ||||
| 		mi := &file_v1_headscale_proto_msgTypes[3] | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		ms.StoreMessageInfo(mi) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func (x *Machine) String() string { | ||||
| 	return protoimpl.X.MessageStringOf(x) | ||||
| } | ||||
| 
 | ||||
| func (*Machine) ProtoMessage() {} | ||||
| 
 | ||||
| func (x *Machine) ProtoReflect() protoreflect.Message { | ||||
| 	mi := &file_v1_headscale_proto_msgTypes[3] | ||||
| 	if protoimpl.UnsafeEnabled && x != nil { | ||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||
| 		if ms.LoadMessageInfo() == nil { | ||||
| 			ms.StoreMessageInfo(mi) | ||||
| 		} | ||||
| 		return ms | ||||
| 	} | ||||
| 	return mi.MessageOf(x) | ||||
| } | ||||
| 
 | ||||
| // Deprecated: Use Machine.ProtoReflect.Descriptor instead.
 | ||||
| func (*Machine) Descriptor() ([]byte, []int) { | ||||
| 	return file_v1_headscale_proto_rawDescGZIP(), []int{3} | ||||
| } | ||||
| 
 | ||||
| func (x *Machine) GetID() uint64 { | ||||
| 	if x != nil { | ||||
| 		return x.ID | ||||
| 	} | ||||
| 	return 0 | ||||
| } | ||||
| 
 | ||||
| func (x *Machine) GetMachineKey() string { | ||||
| 	if x != nil { | ||||
| 		return x.MachineKey | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
| 
 | ||||
| func (x *Machine) GetNodeKey() string { | ||||
| 	if x != nil { | ||||
| 		return x.NodeKey | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
| 
 | ||||
| func (x *Machine) GetDiscoKey() string { | ||||
| 	if x != nil { | ||||
| 		return x.DiscoKey | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
| 
 | ||||
| func (x *Machine) GetIPAddress() string { | ||||
| 	if x != nil { | ||||
| 		return x.IPAddress | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
| 
 | ||||
| func (x *Machine) GetName() string { | ||||
| 	if x != nil { | ||||
| 		return x.Name | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
| 
 | ||||
| func (x *Machine) GetNamespaceID() uint32 { | ||||
| 	if x != nil { | ||||
| 		return x.NamespaceID | ||||
| 	} | ||||
| 	return 0 | ||||
| } | ||||
| 
 | ||||
| func (x *Machine) GetRegistered() bool { | ||||
| 	if x != nil { | ||||
| 		return x.Registered | ||||
| 	} | ||||
| 	return false | ||||
| } | ||||
| 
 | ||||
| func (x *Machine) GetRegisterMethod() RegisterMethod { | ||||
| 	if x != nil { | ||||
| 		return x.RegisterMethod | ||||
| 	} | ||||
| 	return RegisterMethod_AUTH_KEY | ||||
| } | ||||
| 
 | ||||
| func (x *Machine) GetAuthKeyID() uint32 { | ||||
| 	if x != nil { | ||||
| 		return x.AuthKeyID | ||||
| 	} | ||||
| 	return 0 | ||||
| } | ||||
| 
 | ||||
| func (x *Machine) GetAuthKey() *PreAuthKey { | ||||
| 	if x != nil { | ||||
| 		return x.AuthKey | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| func (x *Machine) GetLastSeen() *timestamppb.Timestamp { | ||||
| 	if x != nil { | ||||
| 		return x.LastSeen | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| func (x *Machine) GetLastSuccessfulUpdate() *timestamppb.Timestamp { | ||||
| 	if x != nil { | ||||
| 		return x.LastSuccessfulUpdate | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| func (x *Machine) GetExpiry() *timestamppb.Timestamp { | ||||
| 	if x != nil { | ||||
| 		return x.Expiry | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| func (x *Machine) GetHostInfo() []byte { | ||||
| 	if x != nil { | ||||
| 		return x.HostInfo | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| func (x *Machine) GetEndpoints() []byte { | ||||
| 	if x != nil { | ||||
| 		return x.Endpoints | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| func (x *Machine) GetEnabledRoutes() []byte { | ||||
| 	if x != nil { | ||||
| 		return x.EnabledRoutes | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| func (x *Machine) GetCreatedAt() *timestamppb.Timestamp { | ||||
| 	if x != nil { | ||||
| 		return x.CreatedAt | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| func (x *Machine) GetUpdatedAt() *timestamppb.Timestamp { | ||||
| 	if x != nil { | ||||
| 		return x.UpdatedAt | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| func (x *Machine) GetDeletedAt() *timestamppb.Timestamp { | ||||
| 	if x != nil { | ||||
| 		return x.DeletedAt | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| var File_v1_headscale_proto protoreflect.FileDescriptor | ||||
| 
 | ||||
| var file_v1_headscale_proto_rawDesc = []byte{ | ||||
| 	0x0a, 0x12, 0x76, 0x31, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x70, | ||||
| 	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, | ||||
| 	0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, | ||||
| 	0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, | ||||
| 	0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, | ||||
| 	0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, | ||||
| 	0x6f, 0x1a, 0x12, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6f, 0x72, 0x6d, 0x2e, | ||||
| 	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1f, 0x0a, 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, | ||||
| 	0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, | ||||
| 	0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xcb, 0x02, 0x0a, 0x0a, 0x50, 0x72, 0x65, 0x41, 0x75, | ||||
| 	0x74, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, | ||||
| 	0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x10, 0x0a, 0x03, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, | ||||
| 	0x28, 0x09, 0x52, 0x03, 0x4b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x4e, 0x61, 0x6d, 0x65, 0x73, | ||||
| 	0x70, 0x61, 0x63, 0x65, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x4e, 0x61, | ||||
| 	0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x44, 0x12, 0x35, 0x0a, 0x09, 0x4e, 0x61, 0x6d, | ||||
| 	0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, | ||||
| 	0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, | ||||
| 	0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, | ||||
| 	0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, | ||||
| 	0x28, 0x08, 0x52, 0x08, 0x52, 0x65, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, | ||||
| 	0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, | ||||
| 	0x09, 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x55, 0x73, | ||||
| 	0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x55, 0x73, 0x65, 0x64, 0x12, 0x38, | ||||
| 	0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, | ||||
| 	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, | ||||
| 	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x43, | ||||
| 	0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3a, 0x0a, 0x0a, 0x45, 0x78, 0x70, 0x69, | ||||
| 	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, | ||||
| 	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, | ||||
| 	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, | ||||
| 	0x74, 0x69, 0x6f, 0x6e, 0x22, 0x32, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, | ||||
| 	0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x63, | ||||
| 	0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6d, | ||||
| 	0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x22, 0xcd, 0x06, 0x0a, 0x07, 0x4d, 0x61, 0x63, | ||||
| 	0x68, 0x69, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, | ||||
| 	0x52, 0x02, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x4b, | ||||
| 	0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, | ||||
| 	0x65, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x4e, 0x6f, 0x64, 0x65, 0x4b, 0x65, 0x79, 0x18, | ||||
| 	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x4e, 0x6f, 0x64, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x1a, | ||||
| 	0x0a, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x4b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, | ||||
| 	0x52, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x50, | ||||
| 	0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x49, | ||||
| 	0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, | ||||
| 	0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, | ||||
| 	0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, | ||||
| 	0x0d, 0x52, 0x0b, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x44, 0x12, 0x1e, | ||||
| 	0x0a, 0x0a, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, | ||||
| 	0x28, 0x08, 0x52, 0x0a, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x12, 0x44, | ||||
| 	0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, | ||||
| 	0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, | ||||
| 	0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, | ||||
| 	0x74, 0x68, 0x6f, 0x64, 0x52, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, | ||||
| 	0x74, 0x68, 0x6f, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x49, | ||||
| 	0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, | ||||
| 	0x49, 0x44, 0x12, 0x32, 0x0a, 0x07, 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x18, 0x0b, 0x20, | ||||
| 	0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, | ||||
| 	0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x52, 0x07, 0x41, | ||||
| 	0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x08, 0x4c, 0x61, 0x73, 0x74, 0x53, 0x65, | ||||
| 	0x65, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, | ||||
| 	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, | ||||
| 	0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x4c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x12, 0x4e, | ||||
| 	0x0a, 0x14, 0x4c, 0x61, 0x73, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, | ||||
| 	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, | ||||
| 	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, | ||||
| 	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x14, 0x4c, 0x61, 0x73, 0x74, 0x53, 0x75, | ||||
| 	0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x32, | ||||
| 	0x0a, 0x06, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, | ||||
| 	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, | ||||
| 	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x06, 0x45, 0x78, 0x70, 0x69, | ||||
| 	0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x48, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0f, | ||||
| 	0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x48, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, | ||||
| 	0x0a, 0x09, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, | ||||
| 	0x0c, 0x52, 0x09, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0d, | ||||
| 	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x11, 0x20, | ||||
| 	0x01, 0x28, 0x0c, 0x52, 0x0d, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, | ||||
| 	0x65, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, | ||||
| 	0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, | ||||
| 	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, | ||||
| 	0x70, 0x52, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x38, 0x0a, 0x09, | ||||
| 	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, | ||||
| 	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, | ||||
| 	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x55, 0x70, 0x64, | ||||
| 	0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x38, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, | ||||
| 	0x64, 0x41, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, | ||||
| 	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, | ||||
| 	0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, | ||||
| 	0x3a, 0x06, 0xba, 0xb9, 0x19, 0x02, 0x08, 0x01, 0x2a, 0x31, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, | ||||
| 	0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x55, | ||||
| 	0x54, 0x48, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x43, 0x4c, 0x49, 0x10, | ||||
| 	0x01, 0x12, 0x08, 0x0a, 0x04, 0x4f, 0x49, 0x44, 0x43, 0x10, 0x02, 0x32, 0x7e, 0x0a, 0x10, 0x48, | ||||
| 	0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, | ||||
| 	0x6a, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x1f, 0x2e, | ||||
| 	0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, | ||||
| 	0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, | ||||
| 	0x2e, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, | ||||
| 	0x63, 0x68, 0x69, 0x6e, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, | ||||
| 	0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2f, 0x7b, | ||||
| 	0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x42, 0x29, 0x5a, 0x27, 0x67, | ||||
| 	0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6a, 0x75, 0x61, 0x6e, 0x66, 0x6f, | ||||
| 	0x6e, 0x74, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2f, 0x67, 0x65, 0x6e, | ||||
| 	0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, | ||||
| } | ||||
| 
 | ||||
| var ( | ||||
| 	file_v1_headscale_proto_rawDescOnce sync.Once | ||||
| 	file_v1_headscale_proto_rawDescData = file_v1_headscale_proto_rawDesc | ||||
| ) | ||||
| 
 | ||||
| func file_v1_headscale_proto_rawDescGZIP() []byte { | ||||
| 	file_v1_headscale_proto_rawDescOnce.Do(func() { | ||||
| 		file_v1_headscale_proto_rawDescData = protoimpl.X.CompressGZIP(file_v1_headscale_proto_rawDescData) | ||||
| 	}) | ||||
| 	return file_v1_headscale_proto_rawDescData | ||||
| } | ||||
| 
 | ||||
| var file_v1_headscale_proto_enumTypes = make([]protoimpl.EnumInfo, 1) | ||||
| var file_v1_headscale_proto_msgTypes = make([]protoimpl.MessageInfo, 4) | ||||
| var file_v1_headscale_proto_goTypes = []interface{}{ | ||||
| 	(RegisterMethod)(0),           // 0: headscale.v1.RegisterMethod
 | ||||
| 	(*Namespace)(nil),             // 1: headscale.v1.Namespace
 | ||||
| 	(*PreAuthKey)(nil),            // 2: headscale.v1.PreAuthKey
 | ||||
| 	(*GetMachineRequest)(nil),     // 3: headscale.v1.GetMachineRequest
 | ||||
| 	(*Machine)(nil),               // 4: headscale.v1.Machine
 | ||||
| 	(*timestamppb.Timestamp)(nil), // 5: google.protobuf.Timestamp
 | ||||
| } | ||||
| var file_v1_headscale_proto_depIdxs = []int32{ | ||||
| 	1,  // 0: headscale.v1.PreAuthKey.Namespace:type_name -> headscale.v1.Namespace
 | ||||
| 	5,  // 1: headscale.v1.PreAuthKey.CreatedAt:type_name -> google.protobuf.Timestamp
 | ||||
| 	5,  // 2: headscale.v1.PreAuthKey.Expiration:type_name -> google.protobuf.Timestamp
 | ||||
| 	0,  // 3: headscale.v1.Machine.RegisterMethod:type_name -> headscale.v1.RegisterMethod
 | ||||
| 	2,  // 4: headscale.v1.Machine.AuthKey:type_name -> headscale.v1.PreAuthKey
 | ||||
| 	5,  // 5: headscale.v1.Machine.LastSeen:type_name -> google.protobuf.Timestamp
 | ||||
| 	5,  // 6: headscale.v1.Machine.LastSuccessfulUpdate:type_name -> google.protobuf.Timestamp
 | ||||
| 	5,  // 7: headscale.v1.Machine.Expiry:type_name -> google.protobuf.Timestamp
 | ||||
| 	5,  // 8: headscale.v1.Machine.CreatedAt:type_name -> google.protobuf.Timestamp
 | ||||
| 	5,  // 9: headscale.v1.Machine.UpdatedAt:type_name -> google.protobuf.Timestamp
 | ||||
| 	5,  // 10: headscale.v1.Machine.DeletedAt:type_name -> google.protobuf.Timestamp
 | ||||
| 	3,  // 11: headscale.v1.HeadscaleService.GetMachine:input_type -> headscale.v1.GetMachineRequest
 | ||||
| 	4,  // 12: headscale.v1.HeadscaleService.GetMachine:output_type -> headscale.v1.Machine
 | ||||
| 	12, // [12:13] is the sub-list for method output_type
 | ||||
| 	11, // [11:12] is the sub-list for method input_type
 | ||||
| 	11, // [11:11] is the sub-list for extension type_name
 | ||||
| 	11, // [11:11] is the sub-list for extension extendee
 | ||||
| 	0,  // [0:11] is the sub-list for field type_name
 | ||||
| } | ||||
| 
 | ||||
| func init() { file_v1_headscale_proto_init() } | ||||
| func file_v1_headscale_proto_init() { | ||||
| 	if File_v1_headscale_proto != nil { | ||||
| 		return | ||||
| 	} | ||||
| 	if !protoimpl.UnsafeEnabled { | ||||
| 		file_v1_headscale_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { | ||||
| 			switch v := v.(*Namespace); i { | ||||
| 			case 0: | ||||
| 				return &v.state | ||||
| 			case 1: | ||||
| 				return &v.sizeCache | ||||
| 			case 2: | ||||
| 				return &v.unknownFields | ||||
| 			default: | ||||
| 				return nil | ||||
| 			} | ||||
| 		} | ||||
| 		file_v1_headscale_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { | ||||
| 			switch v := v.(*PreAuthKey); i { | ||||
| 			case 0: | ||||
| 				return &v.state | ||||
| 			case 1: | ||||
| 				return &v.sizeCache | ||||
| 			case 2: | ||||
| 				return &v.unknownFields | ||||
| 			default: | ||||
| 				return nil | ||||
| 			} | ||||
| 		} | ||||
| 		file_v1_headscale_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { | ||||
| 			switch v := v.(*GetMachineRequest); i { | ||||
| 			case 0: | ||||
| 				return &v.state | ||||
| 			case 1: | ||||
| 				return &v.sizeCache | ||||
| 			case 2: | ||||
| 				return &v.unknownFields | ||||
| 			default: | ||||
| 				return nil | ||||
| 			} | ||||
| 		} | ||||
| 		file_v1_headscale_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { | ||||
| 			switch v := v.(*Machine); i { | ||||
| 			case 0: | ||||
| 				return &v.state | ||||
| 			case 1: | ||||
| 				return &v.sizeCache | ||||
| 			case 2: | ||||
| 				return &v.unknownFields | ||||
| 			default: | ||||
| 				return nil | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	type x struct{} | ||||
| 	out := protoimpl.TypeBuilder{ | ||||
| 		File: protoimpl.DescBuilder{ | ||||
| 			GoPackagePath: reflect.TypeOf(x{}).PkgPath(), | ||||
| 			RawDescriptor: file_v1_headscale_proto_rawDesc, | ||||
| 			NumEnums:      1, | ||||
| 			NumMessages:   4, | ||||
| 			NumExtensions: 0, | ||||
| 			NumServices:   1, | ||||
| 		}, | ||||
| 		GoTypes:           file_v1_headscale_proto_goTypes, | ||||
| 		DependencyIndexes: file_v1_headscale_proto_depIdxs, | ||||
| 		EnumInfos:         file_v1_headscale_proto_enumTypes, | ||||
| 		MessageInfos:      file_v1_headscale_proto_msgTypes, | ||||
| 	}.Build() | ||||
| 	File_v1_headscale_proto = out.File | ||||
| 	file_v1_headscale_proto_rawDesc = nil | ||||
| 	file_v1_headscale_proto_goTypes = nil | ||||
| 	file_v1_headscale_proto_depIdxs = nil | ||||
| } | ||||
| @ -1,185 +0,0 @@ | ||||
| // Code generated by protoc-gen-grpc-gateway. DO NOT EDIT.
 | ||||
| // source: v1/headscale.proto
 | ||||
| 
 | ||||
| /* | ||||
| Package v1 is a reverse proxy. | ||||
| 
 | ||||
| It translates gRPC into RESTful JSON APIs. | ||||
| */ | ||||
| package v1 | ||||
| 
 | ||||
| import ( | ||||
| 	"context" | ||||
| 	"io" | ||||
| 	"net/http" | ||||
| 
 | ||||
| 	"github.com/grpc-ecosystem/grpc-gateway/v2/runtime" | ||||
| 	"github.com/grpc-ecosystem/grpc-gateway/v2/utilities" | ||||
| 	"google.golang.org/grpc" | ||||
| 	"google.golang.org/grpc/codes" | ||||
| 	"google.golang.org/grpc/grpclog" | ||||
| 	"google.golang.org/grpc/metadata" | ||||
| 	"google.golang.org/grpc/status" | ||||
| 	"google.golang.org/protobuf/proto" | ||||
| ) | ||||
| 
 | ||||
| // Suppress "imported and not used" errors
 | ||||
| var _ codes.Code | ||||
| var _ io.Reader | ||||
| var _ status.Status | ||||
| var _ = runtime.String | ||||
| var _ = utilities.NewDoubleArray | ||||
| var _ = metadata.Join | ||||
| 
 | ||||
| func request_HeadscaleService_GetMachine_0(ctx context.Context, marshaler runtime.Marshaler, client HeadscaleServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { | ||||
| 	var protoReq GetMachineRequest | ||||
| 	var metadata runtime.ServerMetadata | ||||
| 
 | ||||
| 	var ( | ||||
| 		val string | ||||
| 		ok  bool | ||||
| 		err error | ||||
| 		_   = err | ||||
| 	) | ||||
| 
 | ||||
| 	val, ok = pathParams["machine_id"] | ||||
| 	if !ok { | ||||
| 		return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "machine_id") | ||||
| 	} | ||||
| 
 | ||||
| 	protoReq.MachineId, err = runtime.Uint64(val) | ||||
| 	if err != nil { | ||||
| 		return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "machine_id", err) | ||||
| 	} | ||||
| 
 | ||||
| 	msg, err := client.GetMachine(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) | ||||
| 	return msg, metadata, err | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| func local_request_HeadscaleService_GetMachine_0(ctx context.Context, marshaler runtime.Marshaler, server HeadscaleServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { | ||||
| 	var protoReq GetMachineRequest | ||||
| 	var metadata runtime.ServerMetadata | ||||
| 
 | ||||
| 	var ( | ||||
| 		val string | ||||
| 		ok  bool | ||||
| 		err error | ||||
| 		_   = err | ||||
| 	) | ||||
| 
 | ||||
| 	val, ok = pathParams["machine_id"] | ||||
| 	if !ok { | ||||
| 		return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "machine_id") | ||||
| 	} | ||||
| 
 | ||||
| 	protoReq.MachineId, err = runtime.Uint64(val) | ||||
| 	if err != nil { | ||||
| 		return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "machine_id", err) | ||||
| 	} | ||||
| 
 | ||||
| 	msg, err := server.GetMachine(ctx, &protoReq) | ||||
| 	return msg, metadata, err | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| // RegisterHeadscaleServiceHandlerServer registers the http handlers for service HeadscaleService to "mux".
 | ||||
| // UnaryRPC     :call HeadscaleServiceServer directly.
 | ||||
| // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906.
 | ||||
| // Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterHeadscaleServiceHandlerFromEndpoint instead.
 | ||||
| func RegisterHeadscaleServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server HeadscaleServiceServer) error { | ||||
| 
 | ||||
| 	mux.Handle("GET", pattern_HeadscaleService_GetMachine_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { | ||||
| 		ctx, cancel := context.WithCancel(req.Context()) | ||||
| 		defer cancel() | ||||
| 		var stream runtime.ServerTransportStream | ||||
| 		ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) | ||||
| 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) | ||||
| 		rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/headscale.v1.HeadscaleService/GetMachine", runtime.WithHTTPPathPattern("/api/v1/machine/{machine_id}")) | ||||
| 		if err != nil { | ||||
| 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) | ||||
| 			return | ||||
| 		} | ||||
| 		resp, md, err := local_request_HeadscaleService_GetMachine_0(rctx, inboundMarshaler, server, req, pathParams) | ||||
| 		md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) | ||||
| 		ctx = runtime.NewServerMetadataContext(ctx, md) | ||||
| 		if err != nil { | ||||
| 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) | ||||
| 			return | ||||
| 		} | ||||
| 
 | ||||
| 		forward_HeadscaleService_GetMachine_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) | ||||
| 
 | ||||
| 	}) | ||||
| 
 | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| // RegisterHeadscaleServiceHandlerFromEndpoint is same as RegisterHeadscaleServiceHandler but
 | ||||
| // automatically dials to "endpoint" and closes the connection when "ctx" gets done.
 | ||||
| func RegisterHeadscaleServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { | ||||
| 	conn, err := grpc.Dial(endpoint, opts...) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	defer func() { | ||||
| 		if err != nil { | ||||
| 			if cerr := conn.Close(); cerr != nil { | ||||
| 				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) | ||||
| 			} | ||||
| 			return | ||||
| 		} | ||||
| 		go func() { | ||||
| 			<-ctx.Done() | ||||
| 			if cerr := conn.Close(); cerr != nil { | ||||
| 				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) | ||||
| 			} | ||||
| 		}() | ||||
| 	}() | ||||
| 
 | ||||
| 	return RegisterHeadscaleServiceHandler(ctx, mux, conn) | ||||
| } | ||||
| 
 | ||||
| // RegisterHeadscaleServiceHandler registers the http handlers for service HeadscaleService to "mux".
 | ||||
| // The handlers forward requests to the grpc endpoint over "conn".
 | ||||
| func RegisterHeadscaleServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { | ||||
| 	return RegisterHeadscaleServiceHandlerClient(ctx, mux, NewHeadscaleServiceClient(conn)) | ||||
| } | ||||
| 
 | ||||
| // RegisterHeadscaleServiceHandlerClient registers the http handlers for service HeadscaleService
 | ||||
| // to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "HeadscaleServiceClient".
 | ||||
| // Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "HeadscaleServiceClient"
 | ||||
| // doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in
 | ||||
| // "HeadscaleServiceClient" to call the correct interceptors.
 | ||||
| func RegisterHeadscaleServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client HeadscaleServiceClient) error { | ||||
| 
 | ||||
| 	mux.Handle("GET", pattern_HeadscaleService_GetMachine_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { | ||||
| 		ctx, cancel := context.WithCancel(req.Context()) | ||||
| 		defer cancel() | ||||
| 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) | ||||
| 		rctx, err := runtime.AnnotateContext(ctx, mux, req, "/headscale.v1.HeadscaleService/GetMachine", runtime.WithHTTPPathPattern("/api/v1/machine/{machine_id}")) | ||||
| 		if err != nil { | ||||
| 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) | ||||
| 			return | ||||
| 		} | ||||
| 		resp, md, err := request_HeadscaleService_GetMachine_0(rctx, inboundMarshaler, client, req, pathParams) | ||||
| 		ctx = runtime.NewServerMetadataContext(ctx, md) | ||||
| 		if err != nil { | ||||
| 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) | ||||
| 			return | ||||
| 		} | ||||
| 
 | ||||
| 		forward_HeadscaleService_GetMachine_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) | ||||
| 
 | ||||
| 	}) | ||||
| 
 | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| var ( | ||||
| 	pattern_HeadscaleService_GetMachine_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v1", "machine", "machine_id"}, "")) | ||||
| ) | ||||
| 
 | ||||
| var ( | ||||
| 	forward_HeadscaleService_GetMachine_0 = runtime.ForwardResponseMessage | ||||
| ) | ||||
| @ -1,101 +0,0 @@ | ||||
| // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 | ||||
| 
 | ||||
| package v1 | ||||
| 
 | ||||
| import ( | ||||
| 	context "context" | ||||
| 	grpc "google.golang.org/grpc" | ||||
| 	codes "google.golang.org/grpc/codes" | ||||
| 	status "google.golang.org/grpc/status" | ||||
| ) | ||||
| 
 | ||||
| // This is a compile-time assertion to ensure that this generated file
 | ||||
| // is compatible with the grpc package it is being compiled against.
 | ||||
| // Requires gRPC-Go v1.32.0 or later.
 | ||||
| const _ = grpc.SupportPackageIsVersion7 | ||||
| 
 | ||||
| // HeadscaleServiceClient is the client API for HeadscaleService service.
 | ||||
| //
 | ||||
| // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
 | ||||
| type HeadscaleServiceClient interface { | ||||
| 	GetMachine(ctx context.Context, in *GetMachineRequest, opts ...grpc.CallOption) (*Machine, error) | ||||
| } | ||||
| 
 | ||||
| type headscaleServiceClient struct { | ||||
| 	cc grpc.ClientConnInterface | ||||
| } | ||||
| 
 | ||||
| func NewHeadscaleServiceClient(cc grpc.ClientConnInterface) HeadscaleServiceClient { | ||||
| 	return &headscaleServiceClient{cc} | ||||
| } | ||||
| 
 | ||||
| func (c *headscaleServiceClient) GetMachine(ctx context.Context, in *GetMachineRequest, opts ...grpc.CallOption) (*Machine, error) { | ||||
| 	out := new(Machine) | ||||
| 	err := c.cc.Invoke(ctx, "/headscale.v1.HeadscaleService/GetMachine", in, out, opts...) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	return out, nil | ||||
| } | ||||
| 
 | ||||
| // HeadscaleServiceServer is the server API for HeadscaleService service.
 | ||||
| // All implementations must embed UnimplementedHeadscaleServiceServer
 | ||||
| // for forward compatibility
 | ||||
| type HeadscaleServiceServer interface { | ||||
| 	GetMachine(context.Context, *GetMachineRequest) (*Machine, error) | ||||
| 	mustEmbedUnimplementedHeadscaleServiceServer() | ||||
| } | ||||
| 
 | ||||
| // UnimplementedHeadscaleServiceServer must be embedded to have forward compatible implementations.
 | ||||
| type UnimplementedHeadscaleServiceServer struct { | ||||
| } | ||||
| 
 | ||||
| func (UnimplementedHeadscaleServiceServer) GetMachine(context.Context, *GetMachineRequest) (*Machine, error) { | ||||
| 	return nil, status.Errorf(codes.Unimplemented, "method GetMachine not implemented") | ||||
| } | ||||
| func (UnimplementedHeadscaleServiceServer) mustEmbedUnimplementedHeadscaleServiceServer() {} | ||||
| 
 | ||||
| // UnsafeHeadscaleServiceServer may be embedded to opt out of forward compatibility for this service.
 | ||||
| // Use of this interface is not recommended, as added methods to HeadscaleServiceServer will
 | ||||
| // result in compilation errors.
 | ||||
| type UnsafeHeadscaleServiceServer interface { | ||||
| 	mustEmbedUnimplementedHeadscaleServiceServer() | ||||
| } | ||||
| 
 | ||||
| func RegisterHeadscaleServiceServer(s grpc.ServiceRegistrar, srv HeadscaleServiceServer) { | ||||
| 	s.RegisterService(&HeadscaleService_ServiceDesc, srv) | ||||
| } | ||||
| 
 | ||||
| func _HeadscaleService_GetMachine_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||
| 	in := new(GetMachineRequest) | ||||
| 	if err := dec(in); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	if interceptor == nil { | ||||
| 		return srv.(HeadscaleServiceServer).GetMachine(ctx, in) | ||||
| 	} | ||||
| 	info := &grpc.UnaryServerInfo{ | ||||
| 		Server:     srv, | ||||
| 		FullMethod: "/headscale.v1.HeadscaleService/GetMachine", | ||||
| 	} | ||||
| 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { | ||||
| 		return srv.(HeadscaleServiceServer).GetMachine(ctx, req.(*GetMachineRequest)) | ||||
| 	} | ||||
| 	return interceptor(ctx, in, info, handler) | ||||
| } | ||||
| 
 | ||||
| // HeadscaleService_ServiceDesc is the grpc.ServiceDesc for HeadscaleService service.
 | ||||
| // It's only intended for direct use with grpc.RegisterService,
 | ||||
| // and not to be introspected or modified (even as a copy)
 | ||||
| var HeadscaleService_ServiceDesc = grpc.ServiceDesc{ | ||||
| 	ServiceName: "headscale.v1.HeadscaleService", | ||||
| 	HandlerType: (*HeadscaleServiceServer)(nil), | ||||
| 	Methods: []grpc.MethodDesc{ | ||||
| 		{ | ||||
| 			MethodName: "GetMachine", | ||||
| 			Handler:    _HeadscaleService_GetMachine_Handler, | ||||
| 		}, | ||||
| 	}, | ||||
| 	Streams:  []grpc.StreamDesc{}, | ||||
| 	Metadata: "v1/headscale.proto", | ||||
| } | ||||
							
								
								
									
										250
									
								
								gen/openapiv2/headscale/v1/rpc.swagger.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										250
									
								
								gen/openapiv2/headscale/v1/rpc.swagger.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,250 @@ | ||||
| { | ||||
|   "swagger": "2.0", | ||||
|   "info": { | ||||
|     "title": "headscale/v1/rpc.proto", | ||||
|     "version": "version not set" | ||||
|   }, | ||||
|   "tags": [ | ||||
|     { | ||||
|       "name": "HeadscaleService" | ||||
|     } | ||||
|   ], | ||||
|   "consumes": [ | ||||
|     "application/json" | ||||
|   ], | ||||
|   "produces": [ | ||||
|     "application/json" | ||||
|   ], | ||||
|   "paths": { | ||||
|     "/api/v1/machine/{machineId}": { | ||||
|       "get": { | ||||
|         "operationId": "HeadscaleService_GetMachine", | ||||
|         "responses": { | ||||
|           "200": { | ||||
|             "description": "A successful response.", | ||||
|             "schema": { | ||||
|               "$ref": "#/definitions/v1GetMachineResponse" | ||||
|             } | ||||
|           }, | ||||
|           "default": { | ||||
|             "description": "An unexpected error response.", | ||||
|             "schema": { | ||||
|               "$ref": "#/definitions/rpcStatus" | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "parameters": [ | ||||
|           { | ||||
|             "name": "machineId", | ||||
|             "in": "path", | ||||
|             "required": true, | ||||
|             "type": "string", | ||||
|             "format": "uint64" | ||||
|           } | ||||
|         ], | ||||
|         "tags": [ | ||||
|           "HeadscaleService" | ||||
|         ] | ||||
|       } | ||||
|     }, | ||||
|     "/api/v1/namespace": { | ||||
|       "get": { | ||||
|         "operationId": "HeadscaleService_ListNamespaces", | ||||
|         "responses": { | ||||
|           "200": { | ||||
|             "description": "A successful response.", | ||||
|             "schema": { | ||||
|               "$ref": "#/definitions/v1ListNamespacesResponse" | ||||
|             } | ||||
|           }, | ||||
|           "default": { | ||||
|             "description": "An unexpected error response.", | ||||
|             "schema": { | ||||
|               "$ref": "#/definitions/rpcStatus" | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "tags": [ | ||||
|           "HeadscaleService" | ||||
|         ] | ||||
|       }, | ||||
|       "delete": { | ||||
|         "operationId": "HeadscaleService_DeleteNamespace", | ||||
|         "responses": { | ||||
|           "200": { | ||||
|             "description": "A successful response.", | ||||
|             "schema": { | ||||
|               "$ref": "#/definitions/v1DeleteNamespaceResponse" | ||||
|             } | ||||
|           }, | ||||
|           "default": { | ||||
|             "description": "An unexpected error response.", | ||||
|             "schema": { | ||||
|               "$ref": "#/definitions/rpcStatus" | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "parameters": [ | ||||
|           { | ||||
|             "name": "name", | ||||
|             "in": "query", | ||||
|             "required": false, | ||||
|             "type": "string" | ||||
|           } | ||||
|         ], | ||||
|         "tags": [ | ||||
|           "HeadscaleService" | ||||
|         ] | ||||
|       }, | ||||
|       "post": { | ||||
|         "operationId": "HeadscaleService_CreateNamespace", | ||||
|         "responses": { | ||||
|           "200": { | ||||
|             "description": "A successful response.", | ||||
|             "schema": { | ||||
|               "$ref": "#/definitions/v1CreateNamespaceResponse" | ||||
|             } | ||||
|           }, | ||||
|           "default": { | ||||
|             "description": "An unexpected error response.", | ||||
|             "schema": { | ||||
|               "$ref": "#/definitions/rpcStatus" | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "parameters": [ | ||||
|           { | ||||
|             "name": "body", | ||||
|             "in": "body", | ||||
|             "required": true, | ||||
|             "schema": { | ||||
|               "$ref": "#/definitions/v1CreateNamespaceRequest" | ||||
|             } | ||||
|           } | ||||
|         ], | ||||
|         "tags": [ | ||||
|           "HeadscaleService" | ||||
|         ] | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   "definitions": { | ||||
|     "protobufAny": { | ||||
|       "type": "object", | ||||
|       "properties": { | ||||
|         "@type": { | ||||
|           "type": "string" | ||||
|         } | ||||
|       }, | ||||
|       "additionalProperties": {} | ||||
|     }, | ||||
|     "rpcStatus": { | ||||
|       "type": "object", | ||||
|       "properties": { | ||||
|         "code": { | ||||
|           "type": "integer", | ||||
|           "format": "int32" | ||||
|         }, | ||||
|         "message": { | ||||
|           "type": "string" | ||||
|         }, | ||||
|         "details": { | ||||
|           "type": "array", | ||||
|           "items": { | ||||
|             "$ref": "#/definitions/protobufAny" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "v1CreateNamespaceRequest": { | ||||
|       "type": "object", | ||||
|       "properties": { | ||||
|         "name": { | ||||
|           "type": "string" | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "v1CreateNamespaceResponse": { | ||||
|       "type": "object", | ||||
|       "properties": { | ||||
|         "name": { | ||||
|           "type": "string" | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "v1DeleteNamespaceResponse": { | ||||
|       "type": "object" | ||||
|     }, | ||||
|     "v1GetMachineResponse": { | ||||
|       "type": "object", | ||||
|       "properties": { | ||||
|         "id": { | ||||
|           "type": "string", | ||||
|           "format": "uint64" | ||||
|         }, | ||||
|         "machineKey": { | ||||
|           "type": "string" | ||||
|         }, | ||||
|         "nodeKey": { | ||||
|           "type": "string" | ||||
|         }, | ||||
|         "discoKey": { | ||||
|           "type": "string" | ||||
|         }, | ||||
|         "ipAddress": { | ||||
|           "type": "string" | ||||
|         }, | ||||
|         "name": { | ||||
|           "type": "string" | ||||
|         }, | ||||
|         "namespaceId": { | ||||
|           "type": "integer", | ||||
|           "format": "int64" | ||||
|         }, | ||||
|         "registered": { | ||||
|           "type": "boolean" | ||||
|         }, | ||||
|         "registerMethod": { | ||||
|           "$ref": "#/definitions/v1RegisterMethod" | ||||
|         }, | ||||
|         "authKeyId": { | ||||
|           "type": "integer", | ||||
|           "format": "int64" | ||||
|         }, | ||||
|         "lastSeen": { | ||||
|           "type": "string", | ||||
|           "format": "date-time" | ||||
|         }, | ||||
|         "lastSuccessfulUpdate": { | ||||
|           "type": "string", | ||||
|           "format": "date-time" | ||||
|         }, | ||||
|         "expiry": { | ||||
|           "type": "string", | ||||
|           "format": "date-time" | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "v1ListNamespacesResponse": { | ||||
|       "type": "object", | ||||
|       "properties": { | ||||
|         "namespaces": { | ||||
|           "type": "array", | ||||
|           "items": { | ||||
|             "type": "string" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "v1RegisterMethod": { | ||||
|       "type": "string", | ||||
|       "enum": [ | ||||
|         "REGISTER_METHOD_UNSPECIFIED", | ||||
|         "REGISTER_METHOD_AUTH_KEY", | ||||
|         "REGISTER_METHOD_CLI", | ||||
|         "REGISTER_METHOD_OIDC" | ||||
|       ], | ||||
|       "default": "REGISTER_METHOD_UNSPECIFIED" | ||||
|     } | ||||
|   } | ||||
| } | ||||
| @ -1,210 +0,0 @@ | ||||
| { | ||||
|   "swagger": "2.0", | ||||
|   "info": { | ||||
|     "title": "v1/headscale.proto", | ||||
|     "version": "version not set" | ||||
|   }, | ||||
|   "tags": [ | ||||
|     { | ||||
|       "name": "HeadscaleService" | ||||
|     } | ||||
|   ], | ||||
|   "consumes": [ | ||||
|     "application/json" | ||||
|   ], | ||||
|   "produces": [ | ||||
|     "application/json" | ||||
|   ], | ||||
|   "paths": { | ||||
|     "/api/v1/machine/{machineId}": { | ||||
|       "get": { | ||||
|         "operationId": "HeadscaleService_GetMachine", | ||||
|         "responses": { | ||||
|           "200": { | ||||
|             "description": "A successful response.", | ||||
|             "schema": { | ||||
|               "$ref": "#/definitions/v1Machine" | ||||
|             } | ||||
|           }, | ||||
|           "default": { | ||||
|             "description": "An unexpected error response.", | ||||
|             "schema": { | ||||
|               "$ref": "#/definitions/rpcStatus" | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         "parameters": [ | ||||
|           { | ||||
|             "name": "machineId", | ||||
|             "in": "path", | ||||
|             "required": true, | ||||
|             "type": "string", | ||||
|             "format": "uint64" | ||||
|           } | ||||
|         ], | ||||
|         "tags": [ | ||||
|           "HeadscaleService" | ||||
|         ] | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   "definitions": { | ||||
|     "protobufAny": { | ||||
|       "type": "object", | ||||
|       "properties": { | ||||
|         "@type": { | ||||
|           "type": "string" | ||||
|         } | ||||
|       }, | ||||
|       "additionalProperties": {} | ||||
|     }, | ||||
|     "rpcStatus": { | ||||
|       "type": "object", | ||||
|       "properties": { | ||||
|         "code": { | ||||
|           "type": "integer", | ||||
|           "format": "int32" | ||||
|         }, | ||||
|         "message": { | ||||
|           "type": "string" | ||||
|         }, | ||||
|         "details": { | ||||
|           "type": "array", | ||||
|           "items": { | ||||
|             "$ref": "#/definitions/protobufAny" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "v1Machine": { | ||||
|       "type": "object", | ||||
|       "properties": { | ||||
|         "ID": { | ||||
|           "type": "string", | ||||
|           "format": "uint64" | ||||
|         }, | ||||
|         "MachineKey": { | ||||
|           "type": "string" | ||||
|         }, | ||||
|         "NodeKey": { | ||||
|           "type": "string" | ||||
|         }, | ||||
|         "DiscoKey": { | ||||
|           "type": "string" | ||||
|         }, | ||||
|         "IPAddress": { | ||||
|           "type": "string" | ||||
|         }, | ||||
|         "Name": { | ||||
|           "type": "string" | ||||
|         }, | ||||
|         "NamespaceID": { | ||||
|           "type": "integer", | ||||
|           "format": "int64" | ||||
|         }, | ||||
|         "Registered": { | ||||
|           "type": "boolean" | ||||
|         }, | ||||
|         "RegisterMethod": { | ||||
|           "$ref": "#/definitions/v1RegisterMethod" | ||||
|         }, | ||||
|         "AuthKeyID": { | ||||
|           "type": "integer", | ||||
|           "format": "int64" | ||||
|         }, | ||||
|         "AuthKey": { | ||||
|           "$ref": "#/definitions/v1PreAuthKey" | ||||
|         }, | ||||
|         "LastSeen": { | ||||
|           "type": "string", | ||||
|           "format": "date-time" | ||||
|         }, | ||||
|         "LastSuccessfulUpdate": { | ||||
|           "type": "string", | ||||
|           "format": "date-time" | ||||
|         }, | ||||
|         "Expiry": { | ||||
|           "type": "string", | ||||
|           "format": "date-time" | ||||
|         }, | ||||
|         "HostInfo": { | ||||
|           "type": "string", | ||||
|           "format": "byte" | ||||
|         }, | ||||
|         "Endpoints": { | ||||
|           "type": "string", | ||||
|           "format": "byte" | ||||
|         }, | ||||
|         "EnabledRoutes": { | ||||
|           "type": "string", | ||||
|           "format": "byte" | ||||
|         }, | ||||
|         "CreatedAt": { | ||||
|           "type": "string", | ||||
|           "format": "date-time" | ||||
|         }, | ||||
|         "UpdatedAt": { | ||||
|           "type": "string", | ||||
|           "format": "date-time" | ||||
|         }, | ||||
|         "DeletedAt": { | ||||
|           "type": "string", | ||||
|           "format": "date-time" | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "v1Namespace": { | ||||
|       "type": "object", | ||||
|       "properties": { | ||||
|         "Name": { | ||||
|           "type": "string" | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "v1PreAuthKey": { | ||||
|       "type": "object", | ||||
|       "properties": { | ||||
|         "ID": { | ||||
|           "type": "string", | ||||
|           "format": "uint64" | ||||
|         }, | ||||
|         "Key": { | ||||
|           "type": "string" | ||||
|         }, | ||||
|         "NamespaceID": { | ||||
|           "type": "integer", | ||||
|           "format": "int64" | ||||
|         }, | ||||
|         "Namespace": { | ||||
|           "$ref": "#/definitions/v1Namespace" | ||||
|         }, | ||||
|         "Reusable": { | ||||
|           "type": "boolean" | ||||
|         }, | ||||
|         "Ephemeral": { | ||||
|           "type": "boolean" | ||||
|         }, | ||||
|         "Used": { | ||||
|           "type": "boolean" | ||||
|         }, | ||||
|         "CreatedAt": { | ||||
|           "type": "string", | ||||
|           "format": "date-time" | ||||
|         }, | ||||
|         "Expiration": { | ||||
|           "type": "string", | ||||
|           "format": "date-time" | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "v1RegisterMethod": { | ||||
|       "type": "string", | ||||
|       "enum": [ | ||||
|         "AUTH_KEY", | ||||
|         "CLI", | ||||
|         "OIDC" | ||||
|       ], | ||||
|       "default": "AUTH_KEY" | ||||
|     } | ||||
|   } | ||||
| } | ||||
							
								
								
									
										106
									
								
								proto/headscale/v1/rpc.proto
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										106
									
								
								proto/headscale/v1/rpc.proto
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,106 @@ | ||||
| syntax = "proto3"; | ||||
| package headscale.v1; | ||||
| option  go_package = "github.com/juanfont/headscale/gen/go/v1"; | ||||
| 
 | ||||
| import "google/protobuf/timestamp.proto"; | ||||
| import "google/api/annotations.proto"; | ||||
| 
 | ||||
| enum RegisterMethod { | ||||
|     REGISTER_METHOD_UNSPECIFIED = 0; | ||||
|     REGISTER_METHOD_AUTH_KEY    = 1; | ||||
|     REGISTER_METHOD_CLI         = 2; | ||||
|     REGISTER_METHOD_OIDC        = 3; | ||||
| } | ||||
| 
 | ||||
| // message PreAuthKey { | ||||
| //     uint64 id           = 1; | ||||
| //     string key          = 2; | ||||
| //     uint32 namespace_id = 3; | ||||
| //     Namespace namespace = 4; | ||||
| //     bool reusable       = 5; | ||||
| //     bool ephemeral      = 6; | ||||
| //     bool used           = 7; | ||||
| // | ||||
| //     google.protobuf.Timestamp created_at = 8; | ||||
| //     google.protobuf.Timestamp expiration = 9; | ||||
| // } | ||||
| 
 | ||||
| message GetMachineRequest { | ||||
|     uint64 machine_id = 1; | ||||
| } | ||||
| 
 | ||||
| message GetMachineResponse { | ||||
|     uint64 id           = 1; | ||||
|     string machine_key  = 2; | ||||
|     string node_key     = 3; | ||||
|     string disco_key    = 4; | ||||
|     string ip_address   = 5; | ||||
|     string name         = 6; | ||||
|     uint32 namespace_id = 7; | ||||
| 
 | ||||
|     bool           registered      = 8; | ||||
|     RegisterMethod register_method = 9; | ||||
|     uint32         auth_key_id     = 10; | ||||
|     // PreAuthKey     auth_key        = 11; | ||||
| 
 | ||||
|     google.protobuf.Timestamp last_seen              = 12; | ||||
|     google.protobuf.Timestamp last_successful_update = 13; | ||||
|     google.protobuf.Timestamp expiry                 = 14; | ||||
| 
 | ||||
|     // bytes host_info      = 15; | ||||
|     // bytes endpoints      = 16; | ||||
|     // bytes enabled_routes = 17; | ||||
| 
 | ||||
|     // google.protobuf.Timestamp created_at = 18; | ||||
|     // google.protobuf.Timestamp updated_at = 19; | ||||
|     // google.protobuf.Timestamp deleted_at = 20; | ||||
| } | ||||
| 
 | ||||
| message CreateNamespaceRequest { | ||||
|     string name = 1; | ||||
| } | ||||
| 
 | ||||
| message CreateNamespaceResponse { | ||||
|     string name = 1; | ||||
| } | ||||
| 
 | ||||
| message DeleteNamespaceRequest { | ||||
|     string name = 1; | ||||
| } | ||||
| 
 | ||||
| message DeleteNamespaceResponse { | ||||
| } | ||||
| 
 | ||||
| message ListNamespacesRequest { | ||||
| } | ||||
| 
 | ||||
| message ListNamespacesResponse { | ||||
|     repeated string namespaces = 1; | ||||
| } | ||||
| 
 | ||||
| service HeadscaleService { | ||||
|     rpc GetMachine(GetMachineRequest) returns(GetMachineResponse) { | ||||
|         option(google.api.http) = { | ||||
|             get : "/api/v1/machine/{machine_id}" | ||||
|         }; | ||||
|     } | ||||
| 
 | ||||
|     rpc CreateNamespace(CreateNamespaceRequest) returns(CreateNamespaceResponse) { | ||||
|         option(google.api.http) = { | ||||
|             post : "/api/v1/namespace" | ||||
|             body : "*" | ||||
|         }; | ||||
|     } | ||||
| 
 | ||||
|     rpc DeleteNamespace(DeleteNamespaceRequest) returns(DeleteNamespaceResponse) { | ||||
|         option(google.api.http) = { | ||||
|             delete : "/api/v1/namespace" | ||||
|         }; | ||||
|     } | ||||
| 
 | ||||
|     rpc ListNamespaces(ListNamespacesRequest) returns(ListNamespacesResponse) { | ||||
|         option(google.api.http) = { | ||||
|             get : "/api/v1/namespace" | ||||
|         }; | ||||
|     } | ||||
| } | ||||
| @ -1,71 +0,0 @@ | ||||
| syntax = "proto3"; | ||||
| package headscale.v1; | ||||
| option  go_package = "github.com/juanfont/headscale/gen/go/v1"; | ||||
| 
 | ||||
| import "google/protobuf/timestamp.proto"; | ||||
| import "google/api/annotations.proto"; | ||||
| import "options/gorm.proto"; | ||||
| 
 | ||||
| enum RegisterMethod { | ||||
|     AUTH_KEY = 0; | ||||
|     CLI      = 1; | ||||
|     OIDC     = 2; | ||||
| } | ||||
| 
 | ||||
| message Namespace { | ||||
|     string Name = 1; | ||||
| } | ||||
| 
 | ||||
| message PreAuthKey { | ||||
|     uint64    ID          = 1; | ||||
|     string    Key         = 2; | ||||
|     uint32    NamespaceID = 3; | ||||
|     Namespace Namespace   = 4; | ||||
|     bool      Reusable    = 5; | ||||
|     bool      Ephemeral   = 6; | ||||
|     bool      Used        = 7; | ||||
| 
 | ||||
|     google.protobuf.Timestamp CreatedAt  = 8; | ||||
|     google.protobuf.Timestamp Expiration = 9; | ||||
| } | ||||
| 
 | ||||
| message GetMachineRequest { | ||||
|     uint64 machine_id = 1; | ||||
| } | ||||
| 
 | ||||
| message Machine { | ||||
|     option(gorm.opts).ormable = true; | ||||
|     uint64 ID                 = 1; | ||||
|     string MachineKey         = 2; | ||||
|     string NodeKey            = 3; | ||||
|     string DiscoKey           = 4; | ||||
|     string IPAddress          = 5; | ||||
|     string Name               = 6; | ||||
|     uint32 NamespaceID        = 7; | ||||
| 
 | ||||
|     bool           Registered     = 8; | ||||
|     RegisterMethod RegisterMethod = 9; | ||||
|     uint32         AuthKeyID      = 10; | ||||
|     PreAuthKey     AuthKey        = 11; | ||||
| 
 | ||||
|     google.protobuf.Timestamp LastSeen             = 12; | ||||
|     google.protobuf.Timestamp LastSuccessfulUpdate = 13; | ||||
|     google.protobuf.Timestamp Expiry               = 14; | ||||
| 
 | ||||
|     bytes HostInfo      = 15; | ||||
|     bytes Endpoints     = 16; | ||||
|     bytes EnabledRoutes = 17; | ||||
| 
 | ||||
|     google.protobuf.Timestamp CreatedAt = 18; | ||||
|     google.protobuf.Timestamp UpdatedAt = 19; | ||||
|     google.protobuf.Timestamp DeletedAt = 20; | ||||
| } | ||||
| 
 | ||||
| // Gin Router will prefix this with /api/v1 | ||||
| service HeadscaleService { | ||||
|     rpc GetMachine(GetMachineRequest) returns(Machine) { | ||||
|         option(google.api.http) = { | ||||
|             get : "/api/v1/machine/{machine_id}" | ||||
|         }; | ||||
|     } | ||||
| } | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user