Can I run Envoy on Windows under SCM?
Note
On August 31, 2023 the Envoy project ended official Windows support due to a lack of resources. We will continue to accept patches related to the Windows build. Until further notice, Windows builds are excluded from Envoy CI, as well as the Envoy release and security processes.
Note
This feature is still in Experimental state.
You can start Envoy as Windows Service that is managed under Windows Service Control Manager.
First, you need to create the service. Assuming you have a custom configuration in the current directory named envoy-custom.yaml
. After you create the service you
can start it.
From an administrator prompt run the following commands (note that you need replace C:EnvoyProxywith the path to the envoy.exe binary and the config file):
> sc create EnvoyProxy binpath="C:\EnvoyProxy\envoy.exe --config-path C:\EnvoyProxy\envoy-demo.yaml" start=auto depend=Tcpip/Afd
[SC] CreateService SUCCESS
> sc start EnvoyProxy
SERVICE_NAME: envoyproxy
TYPE : 10 WIN32_OWN_PROCESS
STATE : 2 START_PENDING
(NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x7d0
PID : 3924
FLAGS :
> sc query EnvoyProxy
SERVICE_NAME: envoyproxy
TYPE : 10 WIN32_OWN_PROCESS
STATE : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
...
Use sc.exe to configure the service startup and error handling.
Tip
The output of sc query envoyproxy
contains the exit code of Envoy Proxy. In case the arguments are invalid we set it to E_INVALIDARG
. For more information
Envoy is reporting startup failures with error messages on Windows Event Viewer.