zrok/agent/agentGrpc/agent.proto

151 lines
3.0 KiB
Protocol Buffer
Raw Permalink Normal View History

2024-08-26 17:39:13 +02:00
syntax = "proto3";
2024-08-23 18:31:02 +02:00
option go_package = "github.com/openziti/zrok/agent/agentGrpc";
2024-08-23 17:31:46 +02:00
2024-10-01 17:49:37 +02:00
import "google/api/annotations.proto";
2024-08-23 17:31:46 +02:00
service Agent {
rpc AccessPrivate(AccessPrivateRequest) returns (AccessPrivateResponse) {
option(google.api.http) = {
post: "/v1/agent/accessPrivate"
};
}
rpc ReleaseAccess(ReleaseAccessRequest) returns (ReleaseAccessResponse) {
option(google.api.http) = {
post: "/v1/agent/releaseAccess"
};
}
rpc ReleaseShare(ReleaseShareRequest) returns (ReleaseShareResponse) {
option(google.api.http) = {
post: "/v1/agent/releaseShare"
};
}
2024-09-18 17:54:37 +02:00
rpc ShareReserved(ShareReservedRequest) returns (ShareReservedResponse) {}
rpc SharePrivate(SharePrivateRequest) returns (SharePrivateResponse) {
option(google.api.http) = {
post: "/v1/agent/sharePrivate"
};
}
rpc SharePublic(SharePublicRequest) returns (SharePublicResponse) {
option(google.api.http) = {
post: "/v1/agent/sharePublic"
};
}
2024-10-01 17:49:37 +02:00
rpc Status(StatusRequest) returns (StatusResponse) {
option(google.api.http) = {
get: "/v1/agent/status"
};
}
rpc Version(VersionRequest) returns (VersionResponse) {
option(google.api.http) = {
get: "/v1/agent/version"
};
}
2024-08-23 17:31:46 +02:00
}
message AccessDetail {
string frontendToken = 1;
string token = 2;
string bindAddress = 3;
repeated string responseHeaders = 4;
}
2024-09-18 17:54:37 +02:00
message AccessPrivateResponse{
2024-09-17 03:32:17 +02:00
string frontendToken = 1;
}
2024-09-18 17:54:37 +02:00
message AccessPrivateRequest{
2024-09-17 03:32:17 +02:00
string token = 1;
string bindAddress = 2;
bool autoMode = 3;
string autoAddress = 4;
uint32 autoStartPort = 5;
uint32 autoEndPort = 6;
repeated string responseHeaders = 7;
2024-09-17 03:32:17 +02:00
}
2024-09-18 17:54:37 +02:00
message ReleaseAccessRequest {
string frontendToken = 1;
}
message ReleaseAccessResponse {
}
message ReleaseShareRequest {
string token = 1;
}
message ReleaseShareResponse {
}
message ShareDetail {
2024-09-17 03:32:17 +02:00
string token = 1;
2024-09-18 17:54:37 +02:00
string shareMode = 2;
string backendMode = 3;
bool reserved = 4;
repeated string frontendEndpoint = 5;
string backendEndpoint = 6;
bool closed = 7;
string status = 8;
2024-09-17 03:32:17 +02:00
}
2024-09-18 17:54:37 +02:00
message SharePrivateRequest {
2024-09-17 03:32:17 +02:00
string target = 1;
string backendMode = 2;
bool insecure = 3;
bool closed = 4;
repeated string accessGrants = 5;
}
2024-09-18 17:54:37 +02:00
message SharePrivateResponse {
string token = 1;
}
2024-09-18 17:54:37 +02:00
message SharePublicRequest {
string target = 1;
repeated string basicAuth = 2;
repeated string frontendSelection = 3;
string backendMode = 4;
bool insecure = 5;
string oauthProvider = 6;
repeated string oauthEmailAddressPatterns = 7;
string oauthCheckInterval = 8;
bool closed = 9;
repeated string accessGrants = 10;
}
2024-09-18 17:54:37 +02:00
message SharePublicResponse {
string token = 1;
2024-09-18 17:54:37 +02:00
repeated string frontendEndpoints = 2;
}
2024-09-18 17:54:37 +02:00
message ShareReservedRequest {
string token = 1;
string overrideEndpoint = 2;
bool insecure = 3;
}
2024-09-18 17:54:37 +02:00
message ShareReservedResponse {
string token = 1;
string backendMode = 2;
string shareMode = 3;
repeated string frontendEndpoints = 4;
string target = 5;
}
message StatusRequest {
}
2024-09-18 17:54:37 +02:00
message StatusResponse {
repeated AccessDetail accesses = 1;
repeated ShareDetail shares = 2;
}
2024-08-23 17:31:46 +02:00
message VersionRequest {
}
2024-09-18 17:54:37 +02:00
message VersionResponse {
2024-08-26 17:39:13 +02:00
string v = 1;
string consoleEndpoint = 2;
2024-08-23 17:31:46 +02:00
}