1
0
mirror of https://github.com/juanfont/headscale.git synced 2024-12-20 19:09:07 +01:00
juanfont.headscale/proto/headscale/v1/node.proto
2024-12-10 16:23:55 +01:00

109 lines
2.3 KiB
Protocol Buffer

syntax = "proto3";
package headscale.v1;
import "google/protobuf/timestamp.proto";
import "headscale/v1/preauthkey.proto";
import "headscale/v1/user.proto";
option go_package = "github.com/juanfont/headscale/gen/go/v1";
enum RegisterMethod {
REGISTER_METHOD_UNSPECIFIED = 0;
REGISTER_METHOD_AUTH_KEY = 1;
REGISTER_METHOD_CLI = 2;
REGISTER_METHOD_OIDC = 3;
}
message Node {
// 9: removal of last_successful_update
reserved 9;
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 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; }
message BackfillNodeIPsRequest { bool confirmed = 1; }
message BackfillNodeIPsResponse { repeated string changes = 1; }