Documentation
¶
Index ¶
- Constants
- func CurrentVersion(homeDir string) (v version.Version, source string, err error)
- func GetHomeVersion(homeDir string) (v version.Version, homeVersionFile string, err error)
- func InstallIfNeeded(ctx context.Context, o *globals.GlobalOpts, v version.Version) (string, error)
- func NewFuncEVersions(envoyVersionsURL string, p version.Platform, v version.Version) version.FuncEVersions
- func VersionUsageList() string
- func WriteCurrentVersion(v version.Version, homeDir string) error
- type Runtime
Constants ¶
const ( // CurrentVersionWorkingDirFile is used for stable "versions" and "help" output CurrentVersionWorkingDirFile = "$PWD/.envoy-version" // CurrentVersionHomeDirFile is used for stable "versions" and "help" output CurrentVersionHomeDirFile = "$FUNC_E_HOME/version" )
Variables ¶
This section is empty.
Functions ¶
func CurrentVersion ¶
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.
func GetHomeVersion ¶
GetHomeVersion returns the default version in the "homeDir" and path to to it (homeVersionFile). When "v" is empty, homeVersionFile is not yet initialized.
func InstallIfNeeded ¶
InstallIfNeeded downloads an Envoy binary corresponding to the given version and returns a path to it or an error.
func NewFuncEVersions ¶ added in v1.0.0
func NewFuncEVersions(envoyVersionsURL string, p version.Platform, v version.Version) version.FuncEVersions
NewFuncEVersions creates a new Envoy versions fetcher.
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.
Types ¶
type Runtime ¶
type Runtime struct {
Out, Err io.Writer
OutFile, ErrFile *os.File
// FakeInterrupt is exposed for unit tests to pretend "func-e run" received a Ctrl+C or Ctrl+Break.
// End-to-end tests should kill the func-e process to achieve the same.
FakeInterrupt context.CancelFunc
// contains filtered or unexported fields
}
Runtime manages an Envoy lifecycle
func NewRuntime ¶
NewRuntime creates a new Runtime that runs envoy in globals.RunOpts RunDir opts allows a user running envoy to control the working directory by ID or path, allowing explicit cleanup.
func (*Runtime) GetAdminAddress ¶
GetAdminAddress returns the current admin address in host:port format, or empty if not yet available. Exported for shutdown.enableEnvoyAdminDataCollection, which is always on due to shutdown.EnableHooks.
func (*Runtime) RegisterShutdownHook ¶
RegisterShutdownHook registers the passed functions to be run after Envoy has started and just before func-e instructs Envoy to exit