envoy

package
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: Aug 29, 2024 License: Apache-2.0 Imports: 367 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FatalError

type FatalError struct {
	Err error
}

FatalError is an error that should cause the runtime to exit.

func (FatalError) Error

func (e FatalError) Error() string

Error implements the error interface.

type Option

type Option func(*Runtime)

Option configures a Runtime.

func WithArgs

func WithArgs(args ...string) Option

WithArgs sets additional arguments to pass to Envoy. The arguments are appended to the default arguments.

func WithBootstrapConfigYAML

func WithBootstrapConfigYAML(yaml string) Option

WithBootstrapConfigYAML sets the Envoy bootstrap config YAML.

func WithCluster

func WithCluster(cluster string) Option

WithCluster sets the Envoy cluster name. If this is not set, a random cluster name is used. The cluster name is used in the Envoy bootstrap config.

func WithGoPluginDir

func WithGoPluginDir(dir string) Option

WithGoPluginDir sets the directory to load Go plugins from.

func WithLogsCollector

func WithLogsCollector(c logs.LogsCollector) Option

WithLogsCollector sets the logs collector.

func WithRelease

func WithRelease(release *Release) Option

WithRelease sets the Envoy release to use. If this is not set, the latest release is used.

type Release

type Release struct {
	Version string
	Sha     string
	Contrib bool
}

func (*Release) DownloadBinaryFromGitHub

func (r *Release) DownloadBinaryFromGitHub(ctx context.Context) (io.ReadCloser, error)

func (*Release) String

func (r *Release) String() string

type Runtime

type Runtime struct {
	EnvoyPath           string
	BootstrapConfigYAML string
	Release             *Release
	Cluster             string
	// Args are additional arguments to pass to Envoy.
	Args []string
	// contains filtered or unexported fields
}

Runtime vendors the Envoy binary and runs it.

func (*Runtime) RuntimeStatus

func (r *Runtime) RuntimeStatus() RuntimeStatus

RuntimeStatus returns the status of the Envoy process.

func (*Runtime) Start

func (r *Runtime) Start(ctx context.Context, opts ...Option) error

Start starts the Envoy binary.

func (*Runtime) Stop

func (r *Runtime) Stop() error

Stop stops the Envoy process.

type RuntimeStatus

type RuntimeStatus struct {
	StartedAt time.Time
	Running   bool
	ProcState *os.ProcessState
}

Jump to

Keyboard shortcuts

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