func NewRuntime(opts *globals.RunOpts) *Runtime {
	return &Runtime{opts: opts, pidPath: filepath.Join(opts.RunDir, "envoy.pid")}
}
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.
package envoy
import (
	"context"
	"fmt"
	"io"
	"net"
	"os"
	"os/exec"
	"path/filepath"
	"syscall"
	"time"
	"github.com/tetratelabs/func-e/internal/moreos"
	"github.com/tetratelabs/func-e/internal/globals"
)
const (
	shutdownTimeout = 5 * time.Second
	dateFormat = "[2006-01-02 15:04:05.999]"
)