syntax = "proto3"; option go_package = "github.com/openziti/zrok/agent/agentGrpc"; import "google/api/annotations.proto"; service Agent { rpc AccessPrivate(AccessPrivateRequest) returns (AccessPrivateResponse) {} rpc ReleaseAccess(ReleaseAccessRequest) returns (ReleaseAccessResponse) {} rpc ReleaseShare(ReleaseShareRequest) returns (ReleaseShareResponse) {} rpc ShareReserved(ShareReservedRequest) returns (ShareReservedResponse) {} rpc SharePrivate(SharePrivateRequest) returns (SharePrivateResponse) {} rpc SharePublic(SharePublicRequest) returns (SharePublicResponse) {} 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" }; } } message AccessDetail { string frontendToken = 1; string token = 2; string bindAddress = 3; repeated string responseHeaders = 4; } message AccessPrivateResponse{ string frontendToken = 1; } message AccessPrivateRequest{ string token = 1; string bindAddress = 2; repeated string responseHeaders = 3; } message ReleaseAccessRequest { string frontendToken = 1; } message ReleaseAccessResponse { } message ReleaseShareRequest { string token = 1; } message ReleaseShareResponse { } message ShareDetail { string token = 1; string shareMode = 2; string backendMode = 3; bool reserved = 4; repeated string frontendEndpoint = 5; string backendEndpoint = 6; bool closed = 7; string status = 8; } message SharePrivateRequest { string target = 1; string backendMode = 2; bool insecure = 3; bool closed = 4; repeated string accessGrants = 5; } message SharePrivateResponse { string token = 1; } 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; } message SharePublicResponse { string token = 1; repeated string frontendEndpoints = 2; } message ShareReservedRequest { string token = 1; string overrideEndpoint = 2; bool insecure = 3; } message ShareReservedResponse { string token = 1; string backendMode = 2; string shareMode = 3; repeated string frontendEndpoints = 4; string target = 5; } message StatusRequest { } message StatusResponse { repeated AccessDetail accesses = 1; repeated ShareDetail shares = 2; } message VersionRequest { } message VersionResponse { string v = 1; }