Documentation ¶
Overview ¶
Package server implements Envoy's Aggregated Discovery Service (ADS).
Index ¶
- Constants
- type GRPCServer
- type Server
- func (s *Server) OnDeltaStreamClosed(streamID int64)
- func (s *Server) OnDeltaStreamOpen(ctx context.Context, streamID int64, typ string) error
- func (s *Server) OnFetchRequest(_ context.Context, req *discovery.DiscoveryRequest) error
- func (s *Server) OnFetchResponse(req *discovery.DiscoveryRequest, resp *discovery.DiscoveryResponse)
- func (s *Server) OnStreamClosed(streamID int64)
- func (s *Server) OnStreamDeltaRequest(streamID int64, req *discovery.DeltaDiscoveryRequest) error
- func (s *Server) OnStreamDeltaResponse(streamID int64, req *discovery.DeltaDiscoveryRequest, ...)
- func (s *Server) OnStreamOpen(ctx context.Context, streamID int64, typ string) error
- func (s *Server) OnStreamRequest(streamID int64, req *discovery.DiscoveryRequest) error
- func (s *Server) OnStreamResponse(_ context.Context, streamID int64, req *discovery.DiscoveryRequest, ...)
- func (s *Server) SetCallbacks(cb streamCallback)
- func (s *Server) Start(ctx context.Context, certManager *certificate.Manager, ...) error
- func (s *Server) UpdateProxy(ctx context.Context, proxy *models.Proxy, ...) error
Constants ¶
const (
// ServerType is the type identifier for the ADS server
ServerType = "ADS"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GRPCServer ¶
type GRPCServer struct {
// contains filtered or unexported fields
}
GRPCServer is a construct to run gRPC servers
func NewGrpc ¶
func NewGrpc(serverName string, port int, certCommonName string, cm *certificate.Manager) (*GRPCServer, net.Listener, error)
NewGrpc creates a new gRPC server
func (*GRPCServer) GetServer ¶
func (s *GRPCServer) GetServer() *grpc.Server
GetServer returns the gRPC server
func (*GRPCServer) GrpcServe ¶
func (s *GRPCServer) GrpcServe(ctx context.Context, cancel context.CancelFunc, lis net.Listener, errorCh chan interface{}) error
GrpcServe starts the gRPC server passed.
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server implements the Envoy xDS Aggregate Discovery Services
func NewADSServer ¶
func NewADSServer() *Server
NewADSServer creates a new Aggregated Discovery Service server
func (*Server) OnDeltaStreamClosed ¶
OnDeltaStreamClosed is called when a Delta stream is being closed
func (*Server) OnDeltaStreamOpen ¶
OnDeltaStreamOpen is called when a Delta stream is being opened
func (*Server) OnFetchRequest ¶
OnFetchRequest is called when a fetch request is received
func (*Server) OnFetchResponse ¶
func (s *Server) OnFetchResponse(req *discovery.DiscoveryRequest, resp *discovery.DiscoveryResponse)
OnFetchResponse is called when a fetch request is being responded to
func (*Server) OnStreamClosed ¶
OnStreamClosed is called on stream closed
func (*Server) OnStreamDeltaRequest ¶
func (s *Server) OnStreamDeltaRequest(streamID int64, req *discovery.DeltaDiscoveryRequest) error
OnStreamDeltaRequest is called when a Delta request comes on an open Delta stream
func (*Server) OnStreamDeltaResponse ¶
func (s *Server) OnStreamDeltaResponse(streamID int64, req *discovery.DeltaDiscoveryRequest, resp *discovery.DeltaDiscoveryResponse)
OnStreamDeltaResponse is called when a Delta request is getting responded to
func (*Server) OnStreamOpen ¶
OnStreamOpen is called on stream open
func (*Server) OnStreamRequest ¶
func (s *Server) OnStreamRequest(streamID int64, req *discovery.DiscoveryRequest) error
OnStreamRequest is called when a request happens on an open connection
func (*Server) OnStreamResponse ¶
func (s *Server) OnStreamResponse(_ context.Context, streamID int64, req *discovery.DiscoveryRequest, resp *discovery.DiscoveryResponse)
OnStreamResponse is called when a response is being sent to a request
func (*Server) SetCallbacks ¶
func (s *Server) SetCallbacks(cb streamCallback)
SetCallbacks is a method used to set the callbacks that notify the rest of the system that a proxy, with the given unique connection id, has either connected or disconnected.
func (*Server) Start ¶
func (s *Server) Start(ctx context.Context, certManager *certificate.Manager, cancel context.CancelFunc, port int) error
Start starts the ADS server
func (*Server) UpdateProxy ¶
func (s *Server) UpdateProxy(ctx context.Context, proxy *models.Proxy, snapshotResources map[string][]types.Resource) error
UpdateProxy stores a group of resources as a new Snapshot with a new version in the cache. It also runs a consistency check on the snapshot (will warn if there are missing resources referenced in the snapshot)