controlplane

package
v0.0.0-...-027af11 Latest Latest
Warning

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

Go to latest
Published: Jun 18, 2024 License: MIT Imports: 17 Imported by: 0

README

Example xDS Server

This is an example of a trivial xDS V3 control plane server. It serves an Envoy configuration that's roughly equivalent to the one used by the Envoy "Quick Start" docs: a simple http proxy. You can run the example using the project top-level Makefile, e.g.:

$ make example

The Makefile builds the example server and then runs build/example.sh which runs both Envoy and the example server. The example server serves a configuration defined in internal/example/resource.go. If everything works correctly, you should be able to open a browser to http://localhost:10000 and see Envoy's website.

Files

  • main/main.go is the example program entrypoint. It instantiates the cache and xDS server and runs the xDS server process.
  • resource.go generates a Snapshot structure which describes the configuration that the xDS server serves to Envoy.
  • server.go runs the xDS control plane server.
  • logger.go implements the pkg/log/Logger interface which provides logging services to the cache.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RunServer

func RunServer(srv server.Server, port uint)

RunServer starts an xDS server at the given port.

Types

type Logger

type Logger struct {
	Debug bool
}

An example of a logger that implements `pkg/log/Logger`. Logs to stdout. If Debug == false then Debugf() and Infof() won't output anything.

func (Logger) Debugf

func (logger Logger) Debugf(format string, args ...interface{})

Log to stdout only if Debug is true.

func (Logger) Errorf

func (logger Logger) Errorf(format string, args ...interface{})

Log to stdout always.

func (Logger) Infof

func (logger Logger) Infof(format string, args ...interface{})

Log to stdout only if Debug is true.

func (Logger) Warnf

func (logger Logger) Warnf(format string, args ...interface{})

Log to stdout always.

type Server

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

func NewServer

func NewServer(ctx context.Context, cache cache.Cache, cb *test.Callbacks) *Server

func (*Server) Run

func (s *Server) Run(port uint)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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