pbpeerstream

package
v1.14.0-beta1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 29, 2022 License: MPL-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TypeURLExportedService        = apiTypePrefix + "hashicorp.consul.internal.peerstream.ExportedService"
	TypeURLPeeringTrustBundle     = apiTypePrefix + "hashicorp.consul.internal.peering.PeeringTrustBundle"
	TypeURLPeeringServerAddresses = apiTypePrefix + "hashicorp.consul.internal.peering.PeeringServerAddresses"
)

Variables

View Source
var (
	Operation_name = map[int32]string{
		0: "OPERATION_UNSPECIFIED",
		1: "OPERATION_UPSERT",
		2: "OPERATION_DELETE",
	}
	Operation_value = map[string]int32{
		"OPERATION_UNSPECIFIED": 0,
		"OPERATION_UPSERT":      1,
		"OPERATION_DELETE":      2,
	}
)

Enum value maps for Operation.

View Source
var File_proto_pbpeerstream_peerstream_proto protoreflect.FileDescriptor
View Source
var PeerStreamService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "hashicorp.consul.internal.peerstream.PeerStreamService",
	HandlerType: (*PeerStreamServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "ExchangeSecret",
			Handler:    _PeerStreamService_ExchangeSecret_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "StreamResources",
			Handler:       _PeerStreamService_StreamResources_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
	},
	Metadata: "proto/pbpeerstream/peerstream.proto",
}

PeerStreamService_ServiceDesc is the grpc.ServiceDesc for PeerStreamService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

Functions

func KnownTypeURL

func KnownTypeURL(s string) bool

func RegisterPeerStreamServiceServer

func RegisterPeerStreamServiceServer(s grpc.ServiceRegistrar, srv PeerStreamServiceServer)

Types

type ExchangeSecretRequest

type ExchangeSecretRequest struct {

	// PeerID is the ID of the peering, as determined by the cluster that generated the
	// peering token.
	PeerID string `protobuf:"bytes,1,opt,name=PeerID,proto3" json:"PeerID,omitempty"`
	// EstablishmentSecret is the one-time-use secret encoded in the received peering token.
	EstablishmentSecret string `protobuf:"bytes,2,opt,name=EstablishmentSecret,proto3" json:"EstablishmentSecret,omitempty"`
	// contains filtered or unexported fields
}

func (*ExchangeSecretRequest) Descriptor deprecated

func (*ExchangeSecretRequest) Descriptor() ([]byte, []int)

Deprecated: Use ExchangeSecretRequest.ProtoReflect.Descriptor instead.

func (*ExchangeSecretRequest) GetEstablishmentSecret

func (x *ExchangeSecretRequest) GetEstablishmentSecret() string

func (*ExchangeSecretRequest) GetPeerID

func (x *ExchangeSecretRequest) GetPeerID() string

func (*ExchangeSecretRequest) MarshalBinary

func (msg *ExchangeSecretRequest) MarshalBinary() ([]byte, error)

MarshalBinary implements encoding.BinaryMarshaler

func (*ExchangeSecretRequest) ProtoMessage

func (*ExchangeSecretRequest) ProtoMessage()

func (*ExchangeSecretRequest) ProtoReflect

func (x *ExchangeSecretRequest) ProtoReflect() protoreflect.Message

func (*ExchangeSecretRequest) Reset

func (x *ExchangeSecretRequest) Reset()

func (*ExchangeSecretRequest) String

func (x *ExchangeSecretRequest) String() string

func (*ExchangeSecretRequest) UnmarshalBinary

func (msg *ExchangeSecretRequest) UnmarshalBinary(b []byte) error

UnmarshalBinary implements encoding.BinaryUnmarshaler

type ExchangeSecretResponse

type ExchangeSecretResponse struct {

	// StreamSecret is the long-lived secret to be used for authentication with the
	// peering stream handler.
	StreamSecret string `protobuf:"bytes,1,opt,name=StreamSecret,proto3" json:"StreamSecret,omitempty"`
	// contains filtered or unexported fields
}

func (*ExchangeSecretResponse) Descriptor deprecated

func (*ExchangeSecretResponse) Descriptor() ([]byte, []int)

Deprecated: Use ExchangeSecretResponse.ProtoReflect.Descriptor instead.

func (*ExchangeSecretResponse) GetStreamSecret

func (x *ExchangeSecretResponse) GetStreamSecret() string

func (*ExchangeSecretResponse) MarshalBinary

func (msg *ExchangeSecretResponse) MarshalBinary() ([]byte, error)

MarshalBinary implements encoding.BinaryMarshaler

func (*ExchangeSecretResponse) ProtoMessage

func (*ExchangeSecretResponse) ProtoMessage()

func (*ExchangeSecretResponse) ProtoReflect

func (x *ExchangeSecretResponse) ProtoReflect() protoreflect.Message

func (*ExchangeSecretResponse) Reset

func (x *ExchangeSecretResponse) Reset()

func (*ExchangeSecretResponse) String

func (x *ExchangeSecretResponse) String() string

func (*ExchangeSecretResponse) UnmarshalBinary

func (msg *ExchangeSecretResponse) UnmarshalBinary(b []byte) error

UnmarshalBinary implements encoding.BinaryUnmarshaler

type ExportedService

type ExportedService struct {
	Nodes []*pbservice.CheckServiceNode `protobuf:"bytes,1,rep,name=Nodes,proto3" json:"Nodes,omitempty"`
	// contains filtered or unexported fields
}

ExportedService is one of the types of data returned via peer stream replication.

func (*ExportedService) CheckServiceNodesToStruct

func (s *ExportedService) CheckServiceNodesToStruct() ([]structs.CheckServiceNode, error)

CheckServiceNodesToStruct converts the contained CheckServiceNodes to their structs equivalent.

func (*ExportedService) Descriptor deprecated

func (*ExportedService) Descriptor() ([]byte, []int)

Deprecated: Use ExportedService.ProtoReflect.Descriptor instead.

func (*ExportedService) GetNodes

func (x *ExportedService) GetNodes() []*pbservice.CheckServiceNode

func (*ExportedService) MarshalBinary

func (msg *ExportedService) MarshalBinary() ([]byte, error)

MarshalBinary implements encoding.BinaryMarshaler

func (*ExportedService) ProtoMessage

func (*ExportedService) ProtoMessage()

func (*ExportedService) ProtoReflect

func (x *ExportedService) ProtoReflect() protoreflect.Message

func (*ExportedService) Reset

func (x *ExportedService) Reset()

func (*ExportedService) String

func (x *ExportedService) String() string

func (*ExportedService) UnmarshalBinary

func (msg *ExportedService) UnmarshalBinary(b []byte) error

UnmarshalBinary implements encoding.BinaryUnmarshaler

type LeaderAddress

type LeaderAddress struct {

	// address is an ip:port best effort hint at what could be the cluster leader's address
	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	// contains filtered or unexported fields
}

LeaderAddress is sent when the peering service runs on a consul node that is not a leader. The node either lost leadership, or never was a leader.

func (*LeaderAddress) Descriptor deprecated

func (*LeaderAddress) Descriptor() ([]byte, []int)

Deprecated: Use LeaderAddress.ProtoReflect.Descriptor instead.

func (*LeaderAddress) GetAddress

func (x *LeaderAddress) GetAddress() string

func (*LeaderAddress) MarshalBinary

func (msg *LeaderAddress) MarshalBinary() ([]byte, error)

MarshalBinary implements encoding.BinaryMarshaler

func (*LeaderAddress) ProtoMessage

func (*LeaderAddress) ProtoMessage()

func (*LeaderAddress) ProtoReflect

func (x *LeaderAddress) ProtoReflect() protoreflect.Message

func (*LeaderAddress) Reset

func (x *LeaderAddress) Reset()

func (*LeaderAddress) String

func (x *LeaderAddress) String() string

func (*LeaderAddress) UnmarshalBinary

func (msg *LeaderAddress) UnmarshalBinary(b []byte) error

UnmarshalBinary implements encoding.BinaryUnmarshaler

type Operation

type Operation int32

Operation enumerates supported operations for replicated resources.

const (
	Operation_OPERATION_UNSPECIFIED Operation = 0
	// UPSERT represents a create or update event.
	Operation_OPERATION_UPSERT Operation = 1
	// DELETE indicates the resource should be deleted.
	// In DELETE operations no Resource will be returned.
	// Deletion by an importing peer must be done with the type URL and ID.
	Operation_OPERATION_DELETE Operation = 2
)

func (Operation) Descriptor

func (Operation) Descriptor() protoreflect.EnumDescriptor

func (Operation) Enum

func (x Operation) Enum() *Operation

func (Operation) EnumDescriptor deprecated

func (Operation) EnumDescriptor() ([]byte, []int)

Deprecated: Use Operation.Descriptor instead.

func (Operation) GoString

func (x Operation) GoString() string

func (Operation) Number

func (x Operation) Number() protoreflect.EnumNumber

func (Operation) String

func (x Operation) String() string

func (Operation) Type

type PeerStreamServiceClient

type PeerStreamServiceClient interface {
	// StreamResources opens an event stream for resources to share between peers, such as services.
	// Events are streamed as they happen.
	// buf:lint:ignore RPC_REQUEST_STANDARD_NAME
	// buf:lint:ignore RPC_RESPONSE_STANDARD_NAME
	// buf:lint:ignore RPC_REQUEST_RESPONSE_UNIQUE
	StreamResources(ctx context.Context, opts ...grpc.CallOption) (PeerStreamService_StreamResourcesClient, error)
	// ExchangeSecret is a unary RPC for exchanging the one-time establishment secret
	// for a long-lived stream secret.
	ExchangeSecret(ctx context.Context, in *ExchangeSecretRequest, opts ...grpc.CallOption) (*ExchangeSecretResponse, error)
}

PeerStreamServiceClient is the client API for PeerStreamService 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.

type PeerStreamServiceServer

type PeerStreamServiceServer interface {
	// StreamResources opens an event stream for resources to share between peers, such as services.
	// Events are streamed as they happen.
	// buf:lint:ignore RPC_REQUEST_STANDARD_NAME
	// buf:lint:ignore RPC_RESPONSE_STANDARD_NAME
	// buf:lint:ignore RPC_REQUEST_RESPONSE_UNIQUE
	StreamResources(PeerStreamService_StreamResourcesServer) error
	// ExchangeSecret is a unary RPC for exchanging the one-time establishment secret
	// for a long-lived stream secret.
	ExchangeSecret(context.Context, *ExchangeSecretRequest) (*ExchangeSecretResponse, error)
}

PeerStreamServiceServer is the server API for PeerStreamService service. All implementations should embed UnimplementedPeerStreamServiceServer for forward compatibility

type PeerStreamService_StreamResourcesClient

type PeerStreamService_StreamResourcesClient interface {
	Send(*ReplicationMessage) error
	Recv() (*ReplicationMessage, error)
	grpc.ClientStream
}

type PeerStreamService_StreamResourcesServer

type PeerStreamService_StreamResourcesServer interface {
	Send(*ReplicationMessage) error
	Recv() (*ReplicationMessage, error)
	grpc.ServerStream
}

type ReplicationMessage

type ReplicationMessage struct {

	// Types that are assignable to Payload:
	//	*ReplicationMessage_Open_
	//	*ReplicationMessage_Request_
	//	*ReplicationMessage_Response_
	//	*ReplicationMessage_Terminated_
	//	*ReplicationMessage_Heartbeat_
	Payload isReplicationMessage_Payload `protobuf_oneof:"Payload"`
	// contains filtered or unexported fields
}

func (*ReplicationMessage) Descriptor deprecated

func (*ReplicationMessage) Descriptor() ([]byte, []int)

Deprecated: Use ReplicationMessage.ProtoReflect.Descriptor instead.

func (*ReplicationMessage) GetHeartbeat

func (*ReplicationMessage) GetOpen

func (*ReplicationMessage) GetPayload

func (m *ReplicationMessage) GetPayload() isReplicationMessage_Payload

func (*ReplicationMessage) GetRequest

func (*ReplicationMessage) GetResponse

func (*ReplicationMessage) GetTerminated

func (*ReplicationMessage) MarshalBinary

func (msg *ReplicationMessage) MarshalBinary() ([]byte, error)

MarshalBinary implements encoding.BinaryMarshaler

func (*ReplicationMessage) ProtoMessage

func (*ReplicationMessage) ProtoMessage()

func (*ReplicationMessage) ProtoReflect

func (x *ReplicationMessage) ProtoReflect() protoreflect.Message

func (*ReplicationMessage) Reset

func (x *ReplicationMessage) Reset()

func (*ReplicationMessage) String

func (x *ReplicationMessage) String() string

func (*ReplicationMessage) UnmarshalBinary

func (msg *ReplicationMessage) UnmarshalBinary(b []byte) error

UnmarshalBinary implements encoding.BinaryUnmarshaler

type ReplicationMessage_Heartbeat

type ReplicationMessage_Heartbeat struct {
	// contains filtered or unexported fields
}

Heartbeat is sent to verify that the connection is still active.

func (*ReplicationMessage_Heartbeat) Descriptor deprecated

func (*ReplicationMessage_Heartbeat) Descriptor() ([]byte, []int)

Deprecated: Use ReplicationMessage_Heartbeat.ProtoReflect.Descriptor instead.

func (*ReplicationMessage_Heartbeat) MarshalBinary

func (msg *ReplicationMessage_Heartbeat) MarshalBinary() ([]byte, error)

MarshalBinary implements encoding.BinaryMarshaler

func (*ReplicationMessage_Heartbeat) ProtoMessage

func (*ReplicationMessage_Heartbeat) ProtoMessage()

func (*ReplicationMessage_Heartbeat) ProtoReflect

func (*ReplicationMessage_Heartbeat) Reset

func (x *ReplicationMessage_Heartbeat) Reset()

func (*ReplicationMessage_Heartbeat) String

func (*ReplicationMessage_Heartbeat) UnmarshalBinary

func (msg *ReplicationMessage_Heartbeat) UnmarshalBinary(b []byte) error

UnmarshalBinary implements encoding.BinaryUnmarshaler

type ReplicationMessage_Heartbeat_

type ReplicationMessage_Heartbeat_ struct {
	Heartbeat *ReplicationMessage_Heartbeat `protobuf:"bytes,5,opt,name=heartbeat,proto3,oneof"`
}

type ReplicationMessage_Open

type ReplicationMessage_Open struct {

	// An identifier for the peer making the request.
	// This identifier is provisioned by the serving peer prior to the request from the dialing peer.
	PeerID string `protobuf:"bytes,1,opt,name=PeerID,proto3" json:"PeerID,omitempty"`
	// StreamSecretID contains the long-lived secret from stream authn/authz.
	StreamSecretID string `protobuf:"bytes,2,opt,name=StreamSecretID,proto3" json:"StreamSecretID,omitempty"`
	// contains filtered or unexported fields
}

Open is the initial message send by a dialing peer to establish the peering stream.

func (*ReplicationMessage_Open) Descriptor deprecated

func (*ReplicationMessage_Open) Descriptor() ([]byte, []int)

Deprecated: Use ReplicationMessage_Open.ProtoReflect.Descriptor instead.

func (*ReplicationMessage_Open) GetPeerID

func (x *ReplicationMessage_Open) GetPeerID() string

func (*ReplicationMessage_Open) GetStreamSecretID

func (x *ReplicationMessage_Open) GetStreamSecretID() string

func (*ReplicationMessage_Open) MarshalBinary

func (msg *ReplicationMessage_Open) MarshalBinary() ([]byte, error)

MarshalBinary implements encoding.BinaryMarshaler

func (*ReplicationMessage_Open) ProtoMessage

func (*ReplicationMessage_Open) ProtoMessage()

func (*ReplicationMessage_Open) ProtoReflect

func (x *ReplicationMessage_Open) ProtoReflect() protoreflect.Message

func (*ReplicationMessage_Open) Reset

func (x *ReplicationMessage_Open) Reset()

func (*ReplicationMessage_Open) String

func (x *ReplicationMessage_Open) String() string

func (*ReplicationMessage_Open) UnmarshalBinary

func (msg *ReplicationMessage_Open) UnmarshalBinary(b []byte) error

UnmarshalBinary implements encoding.BinaryUnmarshaler

type ReplicationMessage_Open_

type ReplicationMessage_Open_ struct {
	Open *ReplicationMessage_Open `protobuf:"bytes,1,opt,name=open,proto3,oneof"`
}

type ReplicationMessage_Request

type ReplicationMessage_Request struct {

	// An identifier for the peer making the request.
	// This identifier is provisioned by the serving peer prior to the request from the dialing peer.
	PeerID string `protobuf:"bytes,1,opt,name=PeerID,proto3" json:"PeerID,omitempty"`
	// ResponseNonce corresponding to that of the response being ACKed or NACKed.
	// Initial subscription requests will have an empty nonce.
	// The nonce is generated and incremented by the exporting peer.
	// TODO
	ResponseNonce string `protobuf:"bytes,2,opt,name=ResponseNonce,proto3" json:"ResponseNonce,omitempty"`
	// The type URL for the resource being requested or ACK/NACKed.
	ResourceURL string `protobuf:"bytes,3,opt,name=ResourceURL,proto3" json:"ResourceURL,omitempty"`
	// The error if the previous response was not applied successfully.
	// This field is empty in the first subscription request.
	Error *pbstatus.Status `protobuf:"bytes,5,opt,name=Error,proto3" json:"Error,omitempty"`
	// contains filtered or unexported fields
}

A Request requests to subscribe to a resource of a given type.

func (*ReplicationMessage_Request) Descriptor deprecated

func (*ReplicationMessage_Request) Descriptor() ([]byte, []int)

Deprecated: Use ReplicationMessage_Request.ProtoReflect.Descriptor instead.

func (*ReplicationMessage_Request) GetError

func (*ReplicationMessage_Request) GetPeerID

func (x *ReplicationMessage_Request) GetPeerID() string

func (*ReplicationMessage_Request) GetResourceURL

func (x *ReplicationMessage_Request) GetResourceURL() string

func (*ReplicationMessage_Request) GetResponseNonce

func (x *ReplicationMessage_Request) GetResponseNonce() string

func (*ReplicationMessage_Request) MarshalBinary

func (msg *ReplicationMessage_Request) MarshalBinary() ([]byte, error)

MarshalBinary implements encoding.BinaryMarshaler

func (*ReplicationMessage_Request) ProtoMessage

func (*ReplicationMessage_Request) ProtoMessage()

func (*ReplicationMessage_Request) ProtoReflect

func (*ReplicationMessage_Request) Reset

func (x *ReplicationMessage_Request) Reset()

func (*ReplicationMessage_Request) String

func (x *ReplicationMessage_Request) String() string

func (*ReplicationMessage_Request) UnmarshalBinary

func (msg *ReplicationMessage_Request) UnmarshalBinary(b []byte) error

UnmarshalBinary implements encoding.BinaryUnmarshaler

type ReplicationMessage_Request_

type ReplicationMessage_Request_ struct {
	Request *ReplicationMessage_Request `protobuf:"bytes,2,opt,name=request,proto3,oneof"`
}

type ReplicationMessage_Response

type ReplicationMessage_Response struct {

	// Nonce identifying a response in a stream.
	Nonce string `protobuf:"bytes,1,opt,name=Nonce,proto3" json:"Nonce,omitempty"`
	// The type URL of resource being returned.
	ResourceURL string `protobuf:"bytes,2,opt,name=ResourceURL,proto3" json:"ResourceURL,omitempty"`
	// An identifier for the resource being returned.
	// This could be the SPIFFE ID of the service.
	ResourceID string `protobuf:"bytes,3,opt,name=ResourceID,proto3" json:"ResourceID,omitempty"`
	// The resource being returned.
	Resource *anypb.Any `protobuf:"bytes,4,opt,name=Resource,proto3" json:"Resource,omitempty"`
	// REQUIRED. The operation to be performed in relation to the resource.
	Operation Operation `protobuf:"varint,5,opt,name=operation,proto3,enum=hashicorp.consul.internal.peerstream.Operation" json:"operation,omitempty"`
	// contains filtered or unexported fields
}

A Response contains resources corresponding to a subscription request.

func (*ReplicationMessage_Response) Descriptor deprecated

func (*ReplicationMessage_Response) Descriptor() ([]byte, []int)

Deprecated: Use ReplicationMessage_Response.ProtoReflect.Descriptor instead.

func (*ReplicationMessage_Response) GetNonce

func (x *ReplicationMessage_Response) GetNonce() string

func (*ReplicationMessage_Response) GetOperation

func (x *ReplicationMessage_Response) GetOperation() Operation

func (*ReplicationMessage_Response) GetResource

func (x *ReplicationMessage_Response) GetResource() *anypb.Any

func (*ReplicationMessage_Response) GetResourceID

func (x *ReplicationMessage_Response) GetResourceID() string

func (*ReplicationMessage_Response) GetResourceURL

func (x *ReplicationMessage_Response) GetResourceURL() string

func (*ReplicationMessage_Response) MarshalBinary

func (msg *ReplicationMessage_Response) MarshalBinary() ([]byte, error)

MarshalBinary implements encoding.BinaryMarshaler

func (*ReplicationMessage_Response) ProtoMessage

func (*ReplicationMessage_Response) ProtoMessage()

func (*ReplicationMessage_Response) ProtoReflect

func (*ReplicationMessage_Response) Reset

func (x *ReplicationMessage_Response) Reset()

func (*ReplicationMessage_Response) String

func (x *ReplicationMessage_Response) String() string

func (*ReplicationMessage_Response) UnmarshalBinary

func (msg *ReplicationMessage_Response) UnmarshalBinary(b []byte) error

UnmarshalBinary implements encoding.BinaryUnmarshaler

type ReplicationMessage_Response_

type ReplicationMessage_Response_ struct {
	Response *ReplicationMessage_Response `protobuf:"bytes,3,opt,name=response,proto3,oneof"`
}

type ReplicationMessage_Terminated

type ReplicationMessage_Terminated struct {
	// contains filtered or unexported fields
}

Terminated is sent when a peering is deleted locally. This message signals to the peer that they should clean up their local state about the peering.

func (*ReplicationMessage_Terminated) Descriptor deprecated

func (*ReplicationMessage_Terminated) Descriptor() ([]byte, []int)

Deprecated: Use ReplicationMessage_Terminated.ProtoReflect.Descriptor instead.

func (*ReplicationMessage_Terminated) MarshalBinary

func (msg *ReplicationMessage_Terminated) MarshalBinary() ([]byte, error)

MarshalBinary implements encoding.BinaryMarshaler

func (*ReplicationMessage_Terminated) ProtoMessage

func (*ReplicationMessage_Terminated) ProtoMessage()

func (*ReplicationMessage_Terminated) ProtoReflect

func (*ReplicationMessage_Terminated) Reset

func (x *ReplicationMessage_Terminated) Reset()

func (*ReplicationMessage_Terminated) String

func (*ReplicationMessage_Terminated) UnmarshalBinary

func (msg *ReplicationMessage_Terminated) UnmarshalBinary(b []byte) error

UnmarshalBinary implements encoding.BinaryUnmarshaler

type ReplicationMessage_Terminated_

type ReplicationMessage_Terminated_ struct {
	Terminated *ReplicationMessage_Terminated `protobuf:"bytes,4,opt,name=terminated,proto3,oneof"`
}

type UnimplementedPeerStreamServiceServer

type UnimplementedPeerStreamServiceServer struct {
}

UnimplementedPeerStreamServiceServer should be embedded to have forward compatible implementations.

func (UnimplementedPeerStreamServiceServer) ExchangeSecret

func (UnimplementedPeerStreamServiceServer) StreamResources

type UnsafePeerStreamServiceServer

type UnsafePeerStreamServiceServer interface {
	// contains filtered or unexported methods
}

UnsafePeerStreamServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to PeerStreamServiceServer will result in compilation errors.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL