1
0
mirror of https://github.com/juanfont/headscale.git synced 2024-12-20 19:09:07 +01:00
juanfont.headscale/proto/headscale/v1/device.proto
Kristoffer Dalby a6aa6a4f7b Add proto rpc interface for cli
This commit adds proto rpc definitions for the communication needed for
the CLI interface.
This will allow us to move the rest of the CLI interface over to gRPC
and in the future allow remote access
2021-11-04 22:02:10 +00:00

84 lines
2.6 KiB
Protocol Buffer

syntax = "proto3";
package headscale.v1;
option go_package = "github.com/juanfont/headscale/gen/go/v1";
import "google/protobuf/timestamp.proto";
// This is a potential reimplementation of Tailscale's API
// https://github.com/tailscale/tailscale/blob/main/api.md
message Latency {
float latency_ms = 1;
bool preferred = 2;
}
message ClientSupports {
bool hair_pinning = 1;
bool ipv6 = 2;
bool pcp = 3;
bool pmp = 4;
bool udp = 5;
bool upnp = 6;
}
message ClientConnectivity {
repeated string endpoints = 1;
string derp = 2;
bool mapping_varies_by_dest_ip = 3;
map<string, Latency> latency = 4;
ClientSupports client_supports = 5;
}
message GetDeviceRequest {
string id = 1;
}
message GetDeviceResponse {
repeated string addresses = 1;
string id = 2;
string user = 3;
string name = 4;
string hostname = 5;
string client_version = 6;
bool update_available = 7;
string os = 8;
google.protobuf.Timestamp created = 9;
google.protobuf.Timestamp last_seen = 10;
bool key_expiry_disabled = 11;
google.protobuf.Timestamp expires = 12;
bool authorized = 13;
bool is_external = 14;
string machine_key = 15;
string node_key = 16;
bool blocks_incoming_connections = 17;
repeated string enabled_routes = 18;
repeated string advertised_routes = 19;
ClientConnectivity client_connectivity = 20;
}
message DeleteDeviceRequest {
string id = 1;
}
message DeleteDeviceResponse {
}
message GetDeviceRoutesRequest {
string id = 1;
}
message GetDeviceRoutesResponse {
repeated string enabled_routes = 1;
repeated string advertised_routes = 2;
}
message EnableDeviceRoutesRequest {
string id = 1;
repeated string routes = 2;
}
message EnableDeviceRoutesResponse {
repeated string enabled_routes = 1;
repeated string advertised_routes = 2;
}