syntax = "proto3"; option go_package = "github.com/openziti/zrok/agent/agentGrpc"; service Agent { rpc PrivateAccess(PrivateAccessRequest) returns (PrivateAccessReply) {} rpc PrivateShare(PrivateShareRequest) returns (PrivateShareReply) {} rpc PublicShare(PublicShareRequest) returns (PublicShareReply) {} rpc ReleaseShare(ReleaseShareRequest) returns (ReleaseShareReply) {} rpc Status(StatusRequest) returns (StatusReply) {} rpc Version(VersionRequest) returns (VersionReply) {} } message AccessDetail { string token = 1; string bindAddress = 2; repeated string responseHeaders = 3; } message PrivateAccessReply{ string frontendToken = 1; } message PrivateAccessRequest{ string token = 1; string bindAddress = 2; repeated string responseHeaders = 3; } message PrivateShareReply { string token = 1; } message PrivateShareRequest { string target = 1; string backendMode = 2; bool insecure = 3; bool closed = 4; repeated string accessGrants = 5; } message PublicShareReply { string token = 1; repeated string frontendEndpoints = 2; } message PublicShareRequest { 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 ReleaseShareRequest { string token = 1; } message ReleaseShareReply { } 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 StatusRequest { } message StatusReply { repeated AccessDetail accesses = 1; repeated ShareDetail shares = 2; } message VersionRequest { } message VersionReply { string v = 1; }