envoy

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Oct 13, 2025 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const (

	// CurrentVersionWorkingDirFile is used for stable "versions" and "help" output
	CurrentVersionWorkingDirFile = "$PWD/.envoy-version"
	// CurrentVersionConfigFile is used for stable "versions" and "help" output
	CurrentVersionConfigFile = "$FUNC_E_CONFIG_HOME/envoy-version"
)

Variables

This section is empty.

Functions

func CurrentVersion

func CurrentVersion(dataHome, versionFilePath, versionFileSource string) (v version.Version, source string, err error)

CurrentVersion returns the first version in priority of VersionUsageList and its source or an error. The "source" and error messages returned include unexpanded variables to clarify the intended context. In the case no version was found, the version returned will be nil, not an error. versionFileSource is the display string for the version file (e.g. "$FUNC_E_HOME/version" in legacy mode, "$FUNC_E_DATA_HOME/envoy-version" otherwise).

func InstallIfNeeded

func InstallIfNeeded(ctx context.Context, o *globals.GlobalOpts) (string, error)

InstallIfNeeded downloads an Envoy binary corresponding to globals.GlobalOpts and returns a path to it or an error.

func NewGetVersions added in v1.1.0

func NewGetVersions(envoyVersionsURL string, p version.Platform, v string) version.GetReleaseVersions

NewGetVersions creates a new Envoy versions fetcher. TODO: validate the data before returning it!

func VersionUsageList

func VersionUsageList() string

VersionUsageList is the priority order of Envoy version sources. This includes unresolved variables as it is both used statically for markdown generation, and also at runtime.

func WriteCurrentVersion

func WriteCurrentVersion(v version.Version, configHome, versionFilePath string) error

WriteCurrentVersion writes the version to CurrentVersionWorkingDirFile or version file depending on if the former is present.

Types

type LogFunc added in v1.2.0

type LogFunc func(format string, a ...any)

type Runtime

type Runtime struct {
	Out, Err         io.Writer
	OutFile, ErrFile *os.File
	// contains filtered or unexported fields
}

Runtime manages an Envoy lifecycle

func NewRuntime

func NewRuntime(opts *globals.RunOpts, logf LogFunc) *Runtime

NewRuntime creates a new Runtime that runs envoy with the given options. opts allows a user running envoy to control directories and hooks.

func (*Runtime) Run

func (r *Runtime) Run(ctx context.Context, args []string) error

Run execs the Envoy binary at the path with the args passed.

On success, this blocks and returns nil when either `ctx` is done, or the process exits with status zero.

func (*Runtime) String added in v1.0.0

func (r *Runtime) String() string

String is only used in tests. It is slow, but helps when debugging CI failures

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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