Documentation ¶
Index ¶
- type FatalError
- type GitHubRelease
- type Listener
- type Option
- func WithAdminHost(host string) Option
- func WithArgs(args ...string) Option
- func WithBootstrapConfigYAML(yaml string) Option
- func WithCluster(cluster string) Option
- func WithDrainTimeout(timeout *time.Duration) Option
- func WithGoPluginDir(dir string) Option
- func WithLogsCollector(c logs.LogsCollector) Option
- func WithReadyChecker(hcPort int, listeners []*Listener) Option
- func WithRelease(release ReleaseDownloader) Option
- type ReleaseDownloader
- type Runtime
- type RuntimeStatus
- type URLRelease
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.
type GitHubRelease ¶
GitHubRelease represents a release from GitHub.
func (*GitHubRelease) DownloadBinary ¶
func (r *GitHubRelease) DownloadBinary(ctx context.Context) (io.ReadCloser, error)
func (*GitHubRelease) String ¶
func (r *GitHubRelease) String() string
type Option ¶
type Option func(*Runtime)
Option configures a Runtime.
func WithAdminHost ¶
WithAdminHost sets the host for the Envoy admin interface.
func WithArgs ¶
WithArgs sets additional arguments to pass to Envoy. The arguments are appended to the default arguments.
func WithBootstrapConfigYAML ¶
WithBootstrapConfigYAML sets the Envoy bootstrap config YAML.
func WithCluster ¶
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 WithDrainTimeout ¶
If this is not set, the default timeout is used (30 seconds).
func WithGoPluginDir ¶
WithGoPluginDir sets the directory to load Go plugins from.
func WithLogsCollector ¶
func WithLogsCollector(c logs.LogsCollector) Option
WithLogsCollector sets the logs collector.
func WithReadyChecker ¶ added in v0.3.30
func WithRelease ¶
func WithRelease(release ReleaseDownloader) Option
WithRelease sets the Envoy release to use. If this is not set, the latest release is used.
type ReleaseDownloader ¶
type Runtime ¶
type Runtime struct { EnvoyPath string BootstrapConfigYAML string Release ReleaseDownloader Cluster string // Args are additional arguments to pass to Envoy. Args []string // contains filtered or unexported fields }
func (*Runtime) RuntimeStatus ¶
func (r *Runtime) RuntimeStatus() RuntimeStatus
RuntimeStatus returns the status of the Envoy process.
type RuntimeStatus ¶
type RuntimeStatus struct { StartedAt time.Time Running bool ProcState *os.ProcessState }
type URLRelease ¶
type URLRelease struct {
URL string
}
func (*URLRelease) DownloadBinary ¶
func (r *URLRelease) DownloadBinary(ctx context.Context) (io.ReadCloser, error)
func (*URLRelease) String ¶
func (r *URLRelease) String() string