Rename machine in protos and gen code

This commit is contained in:
Juan Font
2023-05-01 14:14:07 +00:00
parent 47bc930ace
commit ae03f440ee
15 changed files with 2673 additions and 921 deletions

View File

@@ -6,7 +6,7 @@ import "google/api/annotations.proto";
import "headscale/v1/user.proto";
import "headscale/v1/preauthkey.proto";
import "headscale/v1/machine.proto";
import "headscale/v1/node.proto";
import "headscale/v1/routes.proto";
import "headscale/v1/apikey.proto";
// import "headscale/v1/device.proto";
@@ -67,63 +67,63 @@ service HeadscaleService {
}
// --- PreAuthKeys end ---
// --- Machine start ---
rpc DebugCreateMachine(DebugCreateMachineRequest) returns(DebugCreateMachineResponse) {
// --- Node start ---
rpc DebugCreateNode(DebugCreateNodeRequest) returns(DebugCreateNodeResponse) {
option(google.api.http) = {
post : "/api/v1/debug/machine"
post : "/api/v1/debug/node"
body : "*"
};
}
rpc GetMachine(GetMachineRequest) returns(GetMachineResponse) {
rpc GetNode(GetNodeRequest) returns(GetNodeResponse) {
option(google.api.http) = {
get : "/api/v1/machine/{machine_id}"
get : "/api/v1/node/{node_id}"
};
}
rpc SetTags(SetTagsRequest) returns(SetTagsResponse) {
option(google.api.http) = {
post : "/api/v1/machine/{machine_id}/tags"
post : "/api/v1/node/{node_id}/tags"
body : "*"
};
}
rpc RegisterMachine(RegisterMachineRequest) returns(RegisterMachineResponse) {
rpc RegisterNode(RegisterNodeRequest) returns(RegisterNodeResponse) {
option(google.api.http) = {
post : "/api/v1/machine/register"
post : "/api/v1/node/register"
};
}
rpc DeleteMachine(DeleteMachineRequest) returns(DeleteMachineResponse) {
rpc DeleteNode(DeleteNodeRequest) returns(DeleteNodeResponse) {
option(google.api.http) = {
delete : "/api/v1/machine/{machine_id}"
delete : "/api/v1/node/{node_id}"
};
}
rpc ExpireMachine(ExpireMachineRequest) returns(ExpireMachineResponse) {
rpc ExpireNode(ExpireNodeRequest) returns(ExpireNodeResponse) {
option(google.api.http) = {
post : "/api/v1/machine/{machine_id}/expire"
post : "/api/v1/node/{node_id}/expire"
};
}
rpc RenameMachine(RenameMachineRequest) returns(RenameMachineResponse) {
rpc RenameNode(RenameNodeRequest) returns(RenameNodeResponse) {
option(google.api.http) = {
post : "/api/v1/machine/{machine_id}/rename/{new_name}"
post : "/api/v1/node/{node_id}/rename/{new_name}"
};
}
rpc ListMachines(ListMachinesRequest) returns(ListMachinesResponse) {
rpc ListNodes(ListNodesRequest) returns(ListNodesResponse) {
option(google.api.http) = {
get : "/api/v1/machine"
get : "/api/v1/node"
};
}
rpc MoveMachine(MoveMachineRequest) returns(MoveMachineResponse) {
rpc MoveNode(MoveNodeRequest) returns(MoveNodeResponse) {
option(google.api.http) = {
post : "/api/v1/machine/{machine_id}/user"
post : "/api/v1/node/{node_id}/user"
};
}
// --- Machine end ---
// --- Node end ---
// --- Route start ---
rpc GetRoutes(GetRoutesRequest) returns(GetRoutesResponse) {
@@ -144,9 +144,9 @@ service HeadscaleService {
};
}
rpc GetMachineRoutes(GetMachineRoutesRequest) returns(GetMachineRoutesResponse) {
rpc GetNodeRoutes(GetNodeRoutesRequest) returns(GetNodeRoutesResponse) {
option(google.api.http) = {
get : "/api/v1/machine/{machine_id}/routes"
get : "/api/v1/node/{node_id}/routes"
};
}

View File

@@ -0,0 +1,126 @@
syntax = "proto3";
package headscale.v1;
option go_package = "github.com/juanfont/headscale/gen/go/v1";
import "google/protobuf/timestamp.proto";
import "headscale/v1/user.proto";
import "headscale/v1/preauthkey.proto";
enum RegisterMethod {
REGISTER_METHOD_UNSPECIFIED = 0;
REGISTER_METHOD_AUTH_KEY = 1;
REGISTER_METHOD_CLI = 2;
REGISTER_METHOD_OIDC = 3;
}
message Node {
uint64 id = 1;
string machine_key = 2;
string node_key = 3;
string disco_key = 4;
repeated string ip_addresses = 5;
string name = 6;
User user = 7;
google.protobuf.Timestamp last_seen = 8;
google.protobuf.Timestamp last_successful_update = 9;
google.protobuf.Timestamp expiry = 10;
PreAuthKey pre_auth_key = 11;
google.protobuf.Timestamp created_at = 12;
RegisterMethod register_method = 13;
reserved 14 to 17;
// google.protobuf.Timestamp updated_at = 14;
// google.protobuf.Timestamp deleted_at = 15;
// bytes host_info = 15;
// bytes endpoints = 16;
// bytes enabled_routes = 17;
repeated string forced_tags = 18;
repeated string invalid_tags = 19;
repeated string valid_tags = 20;
string given_name = 21;
bool online = 22;
}
message RegisterNodeRequest {
string user = 1;
string key = 2;
}
message RegisterNodeResponse {
Node node = 1;
}
message GetNodeRequest {
uint64 node_id = 1;
}
message GetNodeResponse {
Node node = 1;
}
message SetTagsRequest {
uint64 node_id = 1;
repeated string tags = 2;
}
message SetTagsResponse {
Node node = 1;
}
message DeleteNodeRequest {
uint64 node_id = 1;
}
message DeleteNodeResponse {
}
message ExpireNodeRequest {
uint64 node_id = 1;
}
message ExpireNodeResponse {
Node node = 1;
}
message RenameNodeRequest {
uint64 node_id = 1;
string new_name = 2;
}
message RenameNodeResponse {
Node node = 1;
}
message ListNodesRequest {
string user = 1;
}
message ListNodesResponse {
repeated Node nodes = 1;
}
message MoveNodeRequest {
uint64 node_id = 1;
string user = 2;
}
message MoveNodeResponse {
Node node = 1;
}
message DebugCreateNodeRequest {
string user = 1;
string key = 2;
string name = 3;
repeated string routes = 4;
}
message DebugCreateNodeResponse {
Node node = 1;
}

View File

@@ -3,11 +3,11 @@ package headscale.v1;
option go_package = "github.com/juanfont/headscale/gen/go/v1";
import "google/protobuf/timestamp.proto";
import "headscale/v1/machine.proto";
import "headscale/v1/node.proto";
message Route {
uint64 id = 1;
Machine machine = 2;
Node node = 2;
string prefix = 3;
bool advertised = 4;
bool enabled = 5;
@@ -39,11 +39,11 @@ message DisableRouteRequest {
message DisableRouteResponse {
}
message GetMachineRoutesRequest {
uint64 machine_id = 1;
message GetNodeRoutesRequest {
uint64 node_id = 1;
}
message GetMachineRoutesResponse {
message GetNodeRoutesResponse {
repeated Route routes = 1;
}