Documentation ¶
Index ¶
- Constants
- Variables
- func RegisterTransportServiceServer(s grpc.ServiceRegistrar, srv TransportServiceServer)
- type ClusterDetails
- type Frame
- type GetClusterDetailsRequest
- type GetClusterDetailsResponse
- func (*GetClusterDetailsResponse) Descriptor() ([]byte, []int)deprecated
- func (x *GetClusterDetailsResponse) GetDetails() *ClusterDetails
- func (*GetClusterDetailsResponse) ProtoMessage()
- func (x *GetClusterDetailsResponse) ProtoReflect() protoreflect.Message
- func (x *GetClusterDetailsResponse) Reset()
- func (x *GetClusterDetailsResponse) String() string
- type ProxyClusterRequest
- func (*ProxyClusterRequest) Descriptor() ([]byte, []int)deprecated
- func (x *ProxyClusterRequest) GetCluster() string
- func (x *ProxyClusterRequest) GetFrame() *Frame
- func (*ProxyClusterRequest) ProtoMessage()
- func (x *ProxyClusterRequest) ProtoReflect() protoreflect.Message
- func (x *ProxyClusterRequest) Reset()
- func (x *ProxyClusterRequest) String() string
- type ProxyClusterResponse
- func (*ProxyClusterResponse) Descriptor() ([]byte, []int)deprecated
- func (x *ProxyClusterResponse) GetFrame() *Frame
- func (*ProxyClusterResponse) ProtoMessage()
- func (x *ProxyClusterResponse) ProtoReflect() protoreflect.Message
- func (x *ProxyClusterResponse) Reset()
- func (x *ProxyClusterResponse) String() string
- type ProxySSHRequest
- func (*ProxySSHRequest) Descriptor() ([]byte, []int)deprecated
- func (x *ProxySSHRequest) GetAgent() *Frame
- func (x *ProxySSHRequest) GetDialTarget() *TargetHost
- func (m *ProxySSHRequest) GetFrame() isProxySSHRequest_Frame
- func (x *ProxySSHRequest) GetSsh() *Frame
- func (*ProxySSHRequest) ProtoMessage()
- func (x *ProxySSHRequest) ProtoReflect() protoreflect.Message
- func (x *ProxySSHRequest) Reset()
- func (x *ProxySSHRequest) String() string
- type ProxySSHRequest_Agent
- type ProxySSHRequest_Ssh
- type ProxySSHResponse
- func (*ProxySSHResponse) Descriptor() ([]byte, []int)deprecated
- func (x *ProxySSHResponse) GetAgent() *Frame
- func (x *ProxySSHResponse) GetDetails() *ClusterDetails
- func (m *ProxySSHResponse) GetFrame() isProxySSHResponse_Frame
- func (x *ProxySSHResponse) GetSsh() *Frame
- func (*ProxySSHResponse) ProtoMessage()
- func (x *ProxySSHResponse) ProtoReflect() protoreflect.Message
- func (x *ProxySSHResponse) Reset()
- func (x *ProxySSHResponse) String() string
- type ProxySSHResponse_Agent
- type ProxySSHResponse_Ssh
- type TargetHost
- type TransportServiceClient
- type TransportServiceServer
- type TransportService_ProxyClusterClient
- type TransportService_ProxyClusterServer
- type TransportService_ProxySSHClient
- type TransportService_ProxySSHServer
- type UnimplementedTransportServiceServer
- func (UnimplementedTransportServiceServer) GetClusterDetails(context.Context, *GetClusterDetailsRequest) (*GetClusterDetailsResponse, error)
- func (UnimplementedTransportServiceServer) ProxyCluster(TransportService_ProxyClusterServer) error
- func (UnimplementedTransportServiceServer) ProxySSH(TransportService_ProxySSHServer) error
- type UnsafeTransportServiceServer
Constants ¶
const ( TransportService_GetClusterDetails_FullMethodName = "/teleport.transport.v1.TransportService/GetClusterDetails" TransportService_ProxySSH_FullMethodName = "/teleport.transport.v1.TransportService/ProxySSH" TransportService_ProxyCluster_FullMethodName = "/teleport.transport.v1.TransportService/ProxyCluster" )
Variables ¶
var File_teleport_transport_v1_transport_service_proto protoreflect.FileDescriptor
var TransportService_ServiceDesc = grpc.ServiceDesc{ ServiceName: "teleport.transport.v1.TransportService", HandlerType: (*TransportServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "GetClusterDetails", Handler: _TransportService_GetClusterDetails_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "ProxySSH", Handler: _TransportService_ProxySSH_Handler, ServerStreams: true, ClientStreams: true, }, { StreamName: "ProxyCluster", Handler: _TransportService_ProxyCluster_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "teleport/transport/v1/transport_service.proto", }
TransportService_ServiceDesc is the grpc.ServiceDesc for TransportService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
Functions ¶
func RegisterTransportServiceServer ¶
func RegisterTransportServiceServer(s grpc.ServiceRegistrar, srv TransportServiceServer)
Types ¶
type ClusterDetails ¶
type ClusterDetails struct { // If the cluster is running in FIPS mode FipsEnabled bool `protobuf:"varint,1,opt,name=fips_enabled,json=fipsEnabled,proto3" json:"fips_enabled,omitempty"` // contains filtered or unexported fields }
ClusterDetails contains cluster configuration information
func (*ClusterDetails) Descriptor
deprecated
func (*ClusterDetails) Descriptor() ([]byte, []int)
Deprecated: Use ClusterDetails.ProtoReflect.Descriptor instead.
func (*ClusterDetails) GetFipsEnabled ¶
func (x *ClusterDetails) GetFipsEnabled() bool
func (*ClusterDetails) ProtoMessage ¶
func (*ClusterDetails) ProtoMessage()
func (*ClusterDetails) ProtoReflect ¶
func (x *ClusterDetails) ProtoReflect() protoreflect.Message
func (*ClusterDetails) Reset ¶
func (x *ClusterDetails) Reset()
func (*ClusterDetails) String ¶
func (x *ClusterDetails) String() string
type Frame ¶
type Frame struct { // The raw packet of data Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` // contains filtered or unexported fields }
Encapsulates protocol specific payloads
func (*Frame) Descriptor
deprecated
func (*Frame) GetPayload ¶
func (*Frame) ProtoMessage ¶
func (*Frame) ProtoMessage()
func (*Frame) ProtoReflect ¶
func (x *Frame) ProtoReflect() protoreflect.Message
type GetClusterDetailsRequest ¶
type GetClusterDetailsRequest struct {
// contains filtered or unexported fields
}
Request for GetClusterDetails.
func (*GetClusterDetailsRequest) Descriptor
deprecated
func (*GetClusterDetailsRequest) Descriptor() ([]byte, []int)
Deprecated: Use GetClusterDetailsRequest.ProtoReflect.Descriptor instead.
func (*GetClusterDetailsRequest) ProtoMessage ¶
func (*GetClusterDetailsRequest) ProtoMessage()
func (*GetClusterDetailsRequest) ProtoReflect ¶
func (x *GetClusterDetailsRequest) ProtoReflect() protoreflect.Message
func (*GetClusterDetailsRequest) Reset ¶
func (x *GetClusterDetailsRequest) Reset()
func (*GetClusterDetailsRequest) String ¶
func (x *GetClusterDetailsRequest) String() string
type GetClusterDetailsResponse ¶
type GetClusterDetailsResponse struct { // Cluster configuration details Details *ClusterDetails `protobuf:"bytes,1,opt,name=details,proto3" json:"details,omitempty"` // contains filtered or unexported fields }
Response for GetClusterDetails.
func (*GetClusterDetailsResponse) Descriptor
deprecated
func (*GetClusterDetailsResponse) Descriptor() ([]byte, []int)
Deprecated: Use GetClusterDetailsResponse.ProtoReflect.Descriptor instead.
func (*GetClusterDetailsResponse) GetDetails ¶
func (x *GetClusterDetailsResponse) GetDetails() *ClusterDetails
func (*GetClusterDetailsResponse) ProtoMessage ¶
func (*GetClusterDetailsResponse) ProtoMessage()
func (*GetClusterDetailsResponse) ProtoReflect ¶
func (x *GetClusterDetailsResponse) ProtoReflect() protoreflect.Message
func (*GetClusterDetailsResponse) Reset ¶
func (x *GetClusterDetailsResponse) Reset()
func (*GetClusterDetailsResponse) String ¶
func (x *GetClusterDetailsResponse) String() string
type ProxyClusterRequest ¶
type ProxyClusterRequest struct { // Name of the cluster to connect to. Must // be sent first so the connection can be established. Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"` // Raw payload Frame *Frame `protobuf:"bytes,2,opt,name=frame,proto3" json:"frame,omitempty"` // contains filtered or unexported fields }
Request for ProxyCluster
In order for proxying to begin the client must send a request with the cluster name populated. Creating the stream doesn't actually open the connection. Any attempts to exchange frames prior to the client sending a cluster name will result in the stream being terminated. All subsequent messages only need to provide a Frame.
func (*ProxyClusterRequest) Descriptor
deprecated
func (*ProxyClusterRequest) Descriptor() ([]byte, []int)
Deprecated: Use ProxyClusterRequest.ProtoReflect.Descriptor instead.
func (*ProxyClusterRequest) GetCluster ¶
func (x *ProxyClusterRequest) GetCluster() string
func (*ProxyClusterRequest) GetFrame ¶
func (x *ProxyClusterRequest) GetFrame() *Frame
func (*ProxyClusterRequest) ProtoMessage ¶
func (*ProxyClusterRequest) ProtoMessage()
func (*ProxyClusterRequest) ProtoReflect ¶
func (x *ProxyClusterRequest) ProtoReflect() protoreflect.Message
func (*ProxyClusterRequest) Reset ¶
func (x *ProxyClusterRequest) Reset()
func (*ProxyClusterRequest) String ¶
func (x *ProxyClusterRequest) String() string
type ProxyClusterResponse ¶
type ProxyClusterResponse struct { // Raw payload Frame *Frame `protobuf:"bytes,1,opt,name=frame,proto3" json:"frame,omitempty"` // contains filtered or unexported fields }
Response for ProxyCluster
func (*ProxyClusterResponse) Descriptor
deprecated
func (*ProxyClusterResponse) Descriptor() ([]byte, []int)
Deprecated: Use ProxyClusterResponse.ProtoReflect.Descriptor instead.
func (*ProxyClusterResponse) GetFrame ¶
func (x *ProxyClusterResponse) GetFrame() *Frame
func (*ProxyClusterResponse) ProtoMessage ¶
func (*ProxyClusterResponse) ProtoMessage()
func (*ProxyClusterResponse) ProtoReflect ¶
func (x *ProxyClusterResponse) ProtoReflect() protoreflect.Message
func (*ProxyClusterResponse) Reset ¶
func (x *ProxyClusterResponse) Reset()
func (*ProxyClusterResponse) String ¶
func (x *ProxyClusterResponse) String() string
type ProxySSHRequest ¶
type ProxySSHRequest struct { // Contains the information required to dial the target. // Must be populated on the initial request so that SSH connection can be established. DialTarget *TargetHost `protobuf:"bytes,1,opt,name=dial_target,json=dialTarget,proto3" json:"dial_target,omitempty"` // Payload from SSH/SSH Agent Protocols // // Types that are assignable to Frame: // // *ProxySSHRequest_Ssh // *ProxySSHRequest_Agent Frame isProxySSHRequest_Frame `protobuf_oneof:"frame"` // contains filtered or unexported fields }
Request for ProxySSH
In order for proxying to begin the client must send a request with the TargetHost populated. Creating the stream doesn't actually open the SSH connection. Any attempts to exchange frames prior to the client sending a TargetHost message will result in the stream being terminated.
func (*ProxySSHRequest) Descriptor
deprecated
func (*ProxySSHRequest) Descriptor() ([]byte, []int)
Deprecated: Use ProxySSHRequest.ProtoReflect.Descriptor instead.
func (*ProxySSHRequest) GetAgent ¶
func (x *ProxySSHRequest) GetAgent() *Frame
func (*ProxySSHRequest) GetDialTarget ¶
func (x *ProxySSHRequest) GetDialTarget() *TargetHost
func (*ProxySSHRequest) GetFrame ¶
func (m *ProxySSHRequest) GetFrame() isProxySSHRequest_Frame
func (*ProxySSHRequest) GetSsh ¶
func (x *ProxySSHRequest) GetSsh() *Frame
func (*ProxySSHRequest) ProtoMessage ¶
func (*ProxySSHRequest) ProtoMessage()
func (*ProxySSHRequest) ProtoReflect ¶
func (x *ProxySSHRequest) ProtoReflect() protoreflect.Message
func (*ProxySSHRequest) Reset ¶
func (x *ProxySSHRequest) Reset()
func (*ProxySSHRequest) String ¶
func (x *ProxySSHRequest) String() string
type ProxySSHRequest_Agent ¶
type ProxySSHRequest_Agent struct { // Raw SSH Agent payload, populated for agent forwarding Agent *Frame `protobuf:"bytes,3,opt,name=agent,proto3,oneof"` }
type ProxySSHRequest_Ssh ¶
type ProxySSHRequest_Ssh struct { // Raw SSH payload Ssh *Frame `protobuf:"bytes,2,opt,name=ssh,proto3,oneof"` }
type ProxySSHResponse ¶
type ProxySSHResponse struct { // Cluster information returned *ONLY* with the first frame Details *ClusterDetails `protobuf:"bytes,1,opt,name=details,proto3" json:"details,omitempty"` // Payload from SSH/SSH Agent Protocols // // Types that are assignable to Frame: // // *ProxySSHResponse_Ssh // *ProxySSHResponse_Agent Frame isProxySSHResponse_Frame `protobuf_oneof:"frame"` // contains filtered or unexported fields }
Response for ProxySSH
The first response from the server will contain ClusterDetails so that clients may get information about a particular cluster without needing to call GetClusterDetails first. All subsequent response will only contain Frames.
func (*ProxySSHResponse) Descriptor
deprecated
func (*ProxySSHResponse) Descriptor() ([]byte, []int)
Deprecated: Use ProxySSHResponse.ProtoReflect.Descriptor instead.
func (*ProxySSHResponse) GetAgent ¶
func (x *ProxySSHResponse) GetAgent() *Frame
func (*ProxySSHResponse) GetDetails ¶
func (x *ProxySSHResponse) GetDetails() *ClusterDetails
func (*ProxySSHResponse) GetFrame ¶
func (m *ProxySSHResponse) GetFrame() isProxySSHResponse_Frame
func (*ProxySSHResponse) GetSsh ¶
func (x *ProxySSHResponse) GetSsh() *Frame
func (*ProxySSHResponse) ProtoMessage ¶
func (*ProxySSHResponse) ProtoMessage()
func (*ProxySSHResponse) ProtoReflect ¶
func (x *ProxySSHResponse) ProtoReflect() protoreflect.Message
func (*ProxySSHResponse) Reset ¶
func (x *ProxySSHResponse) Reset()
func (*ProxySSHResponse) String ¶
func (x *ProxySSHResponse) String() string
type ProxySSHResponse_Agent ¶
type ProxySSHResponse_Agent struct { // SSH Agent payload, populated for agent forwarding Agent *Frame `protobuf:"bytes,3,opt,name=agent,proto3,oneof"` }
type ProxySSHResponse_Ssh ¶
type ProxySSHResponse_Ssh struct { // SSH payload Ssh *Frame `protobuf:"bytes,2,opt,name=ssh,proto3,oneof"` }
type TargetHost ¶
type TargetHost struct { // The hostname/ip/uuid:port of the remote host. HostPort string `protobuf:"bytes,1,opt,name=host_port,json=hostPort,proto3" json:"host_port,omitempty"` // The cluster the server is a member of Cluster string `protobuf:"bytes,2,opt,name=cluster,proto3" json:"cluster,omitempty"` // contains filtered or unexported fields }
TargetHost indicates which server the connection is for
func (*TargetHost) Descriptor
deprecated
func (*TargetHost) Descriptor() ([]byte, []int)
Deprecated: Use TargetHost.ProtoReflect.Descriptor instead.
func (*TargetHost) GetCluster ¶
func (x *TargetHost) GetCluster() string
func (*TargetHost) GetHostPort ¶
func (x *TargetHost) GetHostPort() string
func (*TargetHost) ProtoMessage ¶
func (*TargetHost) ProtoMessage()
func (*TargetHost) ProtoReflect ¶
func (x *TargetHost) ProtoReflect() protoreflect.Message
func (*TargetHost) Reset ¶
func (x *TargetHost) Reset()
func (*TargetHost) String ¶
func (x *TargetHost) String() string
type TransportServiceClient ¶
type TransportServiceClient interface { // GetClusterDetails provides cluster information that may affect how transport // should occur. GetClusterDetails(ctx context.Context, in *GetClusterDetailsRequest, opts ...grpc.CallOption) (*GetClusterDetailsResponse, error) // ProxySSH establishes an SSH connection to the target host over a bidirectional stream. // // The client must first send a DialTarget before the connection is established. Agent frames // will be populated if SSH Agent forwarding is enabled for the connection. SSH frames contain // raw SSH payload to be processed by an x/crypto/ssh.Client or x/crypto/ssh.Server. ProxySSH(ctx context.Context, opts ...grpc.CallOption) (TransportService_ProxySSHClient, error) // ProxyCluster establishes a connection to the target cluster. // // The client must first send a ProxyClusterRequest with the desired cluster name before the // connection is established. After which the connection can be used to construct a new // auth.Client to the tunneled cluster. ProxyCluster(ctx context.Context, opts ...grpc.CallOption) (TransportService_ProxyClusterClient, error) }
TransportServiceClient is the client API for TransportService service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
func NewTransportServiceClient ¶
func NewTransportServiceClient(cc grpc.ClientConnInterface) TransportServiceClient
type TransportServiceServer ¶
type TransportServiceServer interface { // GetClusterDetails provides cluster information that may affect how transport // should occur. GetClusterDetails(context.Context, *GetClusterDetailsRequest) (*GetClusterDetailsResponse, error) // ProxySSH establishes an SSH connection to the target host over a bidirectional stream. // // The client must first send a DialTarget before the connection is established. Agent frames // will be populated if SSH Agent forwarding is enabled for the connection. SSH frames contain // raw SSH payload to be processed by an x/crypto/ssh.Client or x/crypto/ssh.Server. ProxySSH(TransportService_ProxySSHServer) error // ProxyCluster establishes a connection to the target cluster. // // The client must first send a ProxyClusterRequest with the desired cluster name before the // connection is established. After which the connection can be used to construct a new // auth.Client to the tunneled cluster. ProxyCluster(TransportService_ProxyClusterServer) error // contains filtered or unexported methods }
TransportServiceServer is the server API for TransportService service. All implementations must embed UnimplementedTransportServiceServer for forward compatibility
type TransportService_ProxyClusterClient ¶
type TransportService_ProxyClusterClient interface { Send(*ProxyClusterRequest) error Recv() (*ProxyClusterResponse, error) grpc.ClientStream }
type TransportService_ProxyClusterServer ¶
type TransportService_ProxyClusterServer interface { Send(*ProxyClusterResponse) error Recv() (*ProxyClusterRequest, error) grpc.ServerStream }
type TransportService_ProxySSHClient ¶
type TransportService_ProxySSHClient interface { Send(*ProxySSHRequest) error Recv() (*ProxySSHResponse, error) grpc.ClientStream }
type TransportService_ProxySSHServer ¶
type TransportService_ProxySSHServer interface { Send(*ProxySSHResponse) error Recv() (*ProxySSHRequest, error) grpc.ServerStream }
type UnimplementedTransportServiceServer ¶
type UnimplementedTransportServiceServer struct { }
UnimplementedTransportServiceServer must be embedded to have forward compatible implementations.
func (UnimplementedTransportServiceServer) GetClusterDetails ¶
func (UnimplementedTransportServiceServer) GetClusterDetails(context.Context, *GetClusterDetailsRequest) (*GetClusterDetailsResponse, error)
func (UnimplementedTransportServiceServer) ProxyCluster ¶
func (UnimplementedTransportServiceServer) ProxyCluster(TransportService_ProxyClusterServer) error
func (UnimplementedTransportServiceServer) ProxySSH ¶
func (UnimplementedTransportServiceServer) ProxySSH(TransportService_ProxySSHServer) error
type UnsafeTransportServiceServer ¶
type UnsafeTransportServiceServer interface {
// contains filtered or unexported methods
}
UnsafeTransportServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to TransportServiceServer will result in compilation errors.