]> git.feebdaed.xyz Git - 0xmirror/cilium.git/commitdiff
feat(install): allow customize envoy max_active_downstream_connections
authorexherb <i@4leaf.me>
Fri, 12 Dec 2025 13:45:21 +0000 (21:45 +0800)
committerNick Young <nick@isovalent.com>
Mon, 22 Dec 2025 23:40:31 +0000 (23:40 +0000)
Signed-off-by: exherb <i@4leaf.me>
14 files changed:
Documentation/cmdref/cilium-agent.md
Documentation/cmdref/cilium-agent_hive.md
Documentation/cmdref/cilium-agent_hive_dot-graph.md
Documentation/helm-values.rst
install/kubernetes/cilium/README.md
install/kubernetes/cilium/files/cilium-envoy/configmap/bootstrap-config.yaml
install/kubernetes/cilium/templates/cilium-configmap.yaml
install/kubernetes/cilium/values.schema.json
install/kubernetes/cilium/values.yaml
install/kubernetes/cilium/values.yaml.tmpl
pkg/envoy/cell.go
pkg/envoy/config/config.go
pkg/envoy/embedded_envoy.go
pkg/envoy/xds_server_ondemand.go

index a6ca8f0967e50afdd0c13ba325f6f34de502f6f8..9f77cb76f272ab7f0543aa834c5de3914bd06c78 100644 (file)
@@ -395,6 +395,7 @@ cilium-agent [flags]
       --proxy-gid uint                                            Group ID for proxy control plane sockets. (default 1337)
       --proxy-idle-timeout-seconds int                            Set Envoy upstream HTTP idle connection timeout in seconds. Does not apply to connections with pending requests. (default 60)
       --proxy-initial-fetch-timeout uint                          Time after which an xDS stream is considered timed out (in seconds) (default 30)
+      --proxy-max-active-downstream-connections int               Set Envoy HTTP option max_active_downstream_connections (default 50000)
       --proxy-max-concurrent-retries uint32                       Maximum number of concurrent retries on Envoy clusters (default 128)
       --proxy-max-connection-duration-seconds int                 Set Envoy HTTP option max_connection_duration seconds. Default 0 (disable)
       --proxy-max-requests-per-connection int                     Set Envoy HTTP option max_requests_per_connection. Default 0 (disable)
index 1d81ea9d8232b4e8287e181bb362fc312f019842..4b337c9f698aab898384bb3bc1d89720e60961e3 100644 (file)
@@ -242,6 +242,7 @@ cilium-agent hive [flags]
       --proxy-gid uint                                            Group ID for proxy control plane sockets. (default 1337)
       --proxy-idle-timeout-seconds int                            Set Envoy upstream HTTP idle connection timeout in seconds. Does not apply to connections with pending requests. (default 60)
       --proxy-initial-fetch-timeout uint                          Time after which an xDS stream is considered timed out (in seconds) (default 30)
+      --proxy-max-active-downstream-connections int               Set Envoy HTTP option max_active_downstream_connections (default 50000)
       --proxy-max-concurrent-retries uint32                       Maximum number of concurrent retries on Envoy clusters (default 128)
       --proxy-max-connection-duration-seconds int                 Set Envoy HTTP option max_connection_duration seconds. Default 0 (disable)
       --proxy-max-requests-per-connection int                     Set Envoy HTTP option max_requests_per_connection. Default 0 (disable)
index f889fdf70ca6718fa43a7713f3495aa64736b5c8..000d96fc077727768f24394663e628a3d1f4a614 100644 (file)
@@ -247,6 +247,7 @@ cilium-agent hive dot-graph [flags]
       --proxy-gid uint                                            Group ID for proxy control plane sockets. (default 1337)
       --proxy-idle-timeout-seconds int                            Set Envoy upstream HTTP idle connection timeout in seconds. Does not apply to connections with pending requests. (default 60)
       --proxy-initial-fetch-timeout uint                          Time after which an xDS stream is considered timed out (in seconds) (default 30)
+      --proxy-max-active-downstream-connections int               Set Envoy HTTP option max_active_downstream_connections (default 50000)
       --proxy-max-concurrent-retries uint32                       Maximum number of concurrent retries on Envoy clusters (default 128)
       --proxy-max-connection-duration-seconds int                 Set Envoy HTTP option max_connection_duration seconds. Default 0 (disable)
       --proxy-max-requests-per-connection int                     Set Envoy HTTP option max_requests_per_connection. Default 0 (disable)
index 7bd56aa92964e717308b21604924c7c9af964069..7cbae8b0a45f9ae56a008c3a12a56d51f8c59e5b 100644 (file)
      - Set Envoy HTTP option max_connection_duration seconds. Default 0 (disable)
      - int
      - ``0``
+   * - :spelling:ignore:`envoy.maxGlobalDownstreamConnections`
+     - Maximum number of global downstream connections
+     - int
+     - ``50000``
    * - :spelling:ignore:`envoy.maxRequestsPerConnection`
      - ProxyMaxRequestsPerConnection specifies the max_requests_per_connection setting for Envoy
      - int
index bdc15af319c4ea04eda8260a1a4ea2125d1493c8..95ab521beda47808d2864513e7d1d0b5ad9805b3 100644 (file)
@@ -454,6 +454,7 @@ contributors across the globe, there is almost always someone available to help.
 | envoy.log.path | string | `""` | Path to a separate Envoy log file, if any. Defaults to /dev/stdout. |
 | envoy.maxConcurrentRetries | int | `128` | Maximum number of concurrent retries on Envoy clusters |
 | envoy.maxConnectionDurationSeconds | int | `0` | Set Envoy HTTP option max_connection_duration seconds. Default 0 (disable) |
+| envoy.maxGlobalDownstreamConnections | int | `50000` | Maximum number of global downstream connections |
 | envoy.maxRequestsPerConnection | int | `0` | ProxyMaxRequestsPerConnection specifies the max_requests_per_connection setting for Envoy |
 | envoy.nodeSelector | object | `{"kubernetes.io/os":"linux"}` | Node selector for cilium-envoy. |
 | envoy.podAnnotations | object | `{}` | Annotations to be added to envoy pods |
index 52439049c427dcd01f994555e8b9b0497d7a881f..ea1d3bdae4b4197f704d620116281dcaa6f9b62d 100644 (file)
@@ -292,7 +292,7 @@ overloadManager:
   - name: "envoy.resource_monitors.global_downstream_max_connections"
     typedConfig:
       "@type": "type.googleapis.com/envoy.extensions.resource_monitors.downstream_connections.v3.DownstreamConnectionsConfig"
-      max_active_downstream_connections: "50000"
+      max_active_downstream_connections: "{{ .Values.envoy.maxGlobalDownstreamConnections }}"
 applicationLogConfig:
   logFormat:
     {{- if .Values.envoy.log.format_json }}
index 4fed22535d641e38e4dc0cb37afd96c3ac9baa7d..f194320e3b48a100830cf00a16c14f429afa06b3 100644 (file)
@@ -1447,6 +1447,7 @@ data:
   proxy-xff-num-trusted-hops-egress: {{ .Values.envoy.xffNumTrustedHopsL7PolicyEgress | quote }}
   proxy-connect-timeout: {{ .Values.envoy.connectTimeoutSeconds | quote }}
   proxy-initial-fetch-timeout: {{ .Values.envoy.initialFetchTimeoutSeconds | quote }}
+  proxy-max-active-downstream-connections: {{ .Values.envoy.maxGlobalDownstreamConnections | quote }}
   proxy-max-requests-per-connection: {{ .Values.envoy.maxRequestsPerConnection | quote }}
   proxy-max-connection-duration-seconds: {{ .Values.envoy.maxConnectionDurationSeconds | quote }}
   proxy-idle-timeout-seconds: {{ .Values.envoy.idleTimeoutDurationSeconds | quote }}
index 2b8b3bf0773de06428f93615a3793b3dfd238cc1..76d06027d71d40168f21ac2e5153e5e48ecfd709 100644 (file)
         "maxConnectionDurationSeconds": {
           "type": "integer"
         },
+        "maxGlobalDownstreamConnections": {
+          "type": "integer"
+        },
         "maxRequestsPerConnection": {
           "type": "integer"
         },
index dfefdbaab9978b2c94d025fd84935ac3e6ec1247..0ae8d3568b5c1056880bd80134c549b53ecd565b 100644 (file)
@@ -2552,6 +2552,8 @@ envoy:
   clusterMaxConnections: 1024
   # -- Maximum number of requests on Envoy clusters
   clusterMaxRequests: 1024
+  # -- Maximum number of global downstream connections
+  maxGlobalDownstreamConnections: 50000
   # -- Maximum number of retries for each HTTP request
   httpRetryCount: 3
   # -- ProxyMaxRequestsPerConnection specifies the max_requests_per_connection setting for Envoy
index 99b0fea604d5c7380188d0a7b1106e28319a7757..13a05d7a75d5c3cc3fd83542d59fa4ff64fef65b 100644 (file)
@@ -2577,6 +2577,8 @@ envoy:
   clusterMaxConnections: 1024
   # -- Maximum number of requests on Envoy clusters
   clusterMaxRequests: 1024
+  # -- Maximum number of global downstream connections
+  maxGlobalDownstreamConnections: 50000
   # -- Maximum number of retries for each HTTP request
   httpRetryCount: 3
   # -- ProxyMaxRequestsPerConnection specifies the max_requests_per_connection setting for Envoy
index 8bc867a1b73e0f8893e2d209775b7f9164682622..af95feab9f9ee32233bbab7ceaaddc8971b79793 100644 (file)
@@ -128,22 +128,23 @@ func newEnvoyXDSServer(params xdsServerParams) (XDSServer, error) {
 
        if !option.Config.ExternalEnvoyProxy {
                return &onDemandXdsStarter{
-                       XDSServer:                xdsServer,
-                       logger:                   params.Logger,
-                       runDir:                   option.Config.RunDir,
-                       envoyLogPath:             params.EnvoyProxyConfig.EnvoyLog,
-                       envoyDefaultLogLevel:     params.EnvoyProxyConfig.EnvoyDefaultLogLevel,
-                       envoyBaseID:              params.EnvoyProxyConfig.EnvoyBaseID,
-                       keepCapNetBindService:    params.EnvoyProxyConfig.EnvoyKeepCapNetbindservice,
-                       metricsListenerPort:      params.EnvoyProxyConfig.ProxyPrometheusPort,
-                       adminListenerPort:        params.EnvoyProxyConfig.ProxyAdminPort,
-                       connectTimeout:           int64(params.EnvoyProxyConfig.ProxyConnectTimeout),
-                       maxRequestsPerConnection: uint32(params.EnvoyProxyConfig.ProxyMaxRequestsPerConnection),
-                       maxConnectionDuration:    time.Duration(params.EnvoyProxyConfig.ProxyMaxConnectionDurationSeconds) * time.Second,
-                       idleTimeout:              time.Duration(params.EnvoyProxyConfig.ProxyIdleTimeoutSeconds) * time.Second,
-                       maxConcurrentRetries:     params.EnvoyProxyConfig.ProxyMaxConcurrentRetries,
-                       maxConnections:           params.EnvoyProxyConfig.ProxyClusterMaxConnections,
-                       maxRequests:              params.EnvoyProxyConfig.ProxyClusterMaxRequests,
+                       XDSServer:                      xdsServer,
+                       logger:                         params.Logger,
+                       runDir:                         option.Config.RunDir,
+                       envoyLogPath:                   params.EnvoyProxyConfig.EnvoyLog,
+                       envoyDefaultLogLevel:           params.EnvoyProxyConfig.EnvoyDefaultLogLevel,
+                       envoyBaseID:                    params.EnvoyProxyConfig.EnvoyBaseID,
+                       keepCapNetBindService:          params.EnvoyProxyConfig.EnvoyKeepCapNetbindservice,
+                       metricsListenerPort:            params.EnvoyProxyConfig.ProxyPrometheusPort,
+                       adminListenerPort:              params.EnvoyProxyConfig.ProxyAdminPort,
+                       connectTimeout:                 int64(params.EnvoyProxyConfig.ProxyConnectTimeout),
+                       maxActiveDownstreamConnections: params.EnvoyProxyConfig.ProxyMaxActiveDownstreamConnections,
+                       maxRequestsPerConnection:       uint32(params.EnvoyProxyConfig.ProxyMaxRequestsPerConnection),
+                       maxConnectionDuration:          time.Duration(params.EnvoyProxyConfig.ProxyMaxConnectionDurationSeconds) * time.Second,
+                       idleTimeout:                    time.Duration(params.EnvoyProxyConfig.ProxyIdleTimeoutSeconds) * time.Second,
+                       maxConcurrentRetries:           params.EnvoyProxyConfig.ProxyMaxConcurrentRetries,
+                       maxConnections:                 params.EnvoyProxyConfig.ProxyClusterMaxConnections,
+                       maxRequests:                    params.EnvoyProxyConfig.ProxyClusterMaxRequests,
                }, nil
        }
 
index 959efc93725973d073eef38e698926c8fea3ae78..b7837734e56d92df9aff63055eaa6761dc2a1d6e 100644 (file)
@@ -10,35 +10,36 @@ import (
 )
 
 type ProxyConfig struct {
-       DisableEnvoyVersionCheck          bool
-       ProxyPrometheusPort               int
-       ProxyAdminPort                    int
-       EnvoyLog                          string
-       EnvoyAccessLogBufferSize          uint
-       EnvoyDefaultLogLevel              string
-       EnvoyBaseID                       uint64
-       EnvoyKeepCapNetbindservice        bool
-       ProxyConnectTimeout               uint
-       ProxyInitialFetchTimeout          uint
-       ProxyGID                          uint
-       ProxyMaxRequestsPerConnection     int
-       ProxyMaxConnectionDurationSeconds int
-       ProxyIdleTimeoutSeconds           int
-       ProxyMaxConcurrentRetries         uint32
-       ProxyClusterMaxConnections        uint32
-       ProxyClusterMaxRequests           uint32
-       HTTPNormalizePath                 bool
-       HTTPRequestTimeout                uint
-       HTTPIdleTimeout                   uint
-       HTTPMaxGRPCTimeout                uint
-       HTTPRetryCount                    uint
-       HTTPRetryTimeout                  uint
-       HTTPStreamIdleTimeout             uint
-       UseFullTLSContext                 bool
-       ProxyXffNumTrustedHopsIngress     uint32
-       ProxyXffNumTrustedHopsEgress      uint32
-       EnvoyPolicyRestoreTimeout         time.Duration
-       EnvoyHTTPUpstreamLingerTimeout    int
+       DisableEnvoyVersionCheck            bool
+       ProxyPrometheusPort                 int
+       ProxyAdminPort                      int
+       EnvoyLog                            string
+       EnvoyAccessLogBufferSize            uint
+       EnvoyDefaultLogLevel                string
+       EnvoyBaseID                         uint64
+       EnvoyKeepCapNetbindservice          bool
+       ProxyConnectTimeout                 uint
+       ProxyInitialFetchTimeout            uint
+       ProxyGID                            uint
+       ProxyMaxActiveDownstreamConnections int64
+       ProxyMaxRequestsPerConnection       int
+       ProxyMaxConnectionDurationSeconds   int
+       ProxyIdleTimeoutSeconds             int
+       ProxyMaxConcurrentRetries           uint32
+       ProxyClusterMaxConnections          uint32
+       ProxyClusterMaxRequests             uint32
+       HTTPNormalizePath                   bool
+       HTTPRequestTimeout                  uint
+       HTTPIdleTimeout                     uint
+       HTTPMaxGRPCTimeout                  uint
+       HTTPRetryCount                      uint
+       HTTPRetryTimeout                    uint
+       HTTPStreamIdleTimeout               uint
+       UseFullTLSContext                   bool
+       ProxyXffNumTrustedHopsIngress       uint32
+       ProxyXffNumTrustedHopsEgress        uint32
+       EnvoyPolicyRestoreTimeout           time.Duration
+       EnvoyHTTPUpstreamLingerTimeout      int
 }
 
 func (r ProxyConfig) Flags(flags *pflag.FlagSet) {
@@ -53,6 +54,7 @@ func (r ProxyConfig) Flags(flags *pflag.FlagSet) {
        flags.Uint("proxy-connect-timeout", 2, "Time after which a TCP connect attempt is considered failed unless completed (in seconds)")
        flags.Uint("proxy-initial-fetch-timeout", 30, "Time after which an xDS stream is considered timed out (in seconds)")
        flags.Uint("proxy-gid", 1337, "Group ID for proxy control plane sockets.")
+       flags.Int64("proxy-max-active-downstream-connections", 50000, "Set Envoy HTTP option max_active_downstream_connections")
        flags.Int("proxy-max-requests-per-connection", 0, "Set Envoy HTTP option max_requests_per_connection. Default 0 (disable)")
        flags.Int("proxy-max-connection-duration-seconds", 0, "Set Envoy HTTP option max_connection_duration seconds. Default 0 (disable)")
        flags.Int("proxy-idle-timeout-seconds", 60, "Set Envoy upstream HTTP idle connection timeout in seconds. Does not apply to connections with pending requests.")
index c42ef0d786d7b18eb0e31b0bfaa08d792f1102f3..a3d2cecc792fc5250568cd89ff85e33718abcfd0 100644 (file)
@@ -65,8 +65,6 @@ var (
 const (
        ciliumEnvoyStarter = "cilium-envoy-starter"
        ciliumEnvoy        = "cilium-envoy"
-
-       maxActiveDownstreamConnections = 50000
 )
 
 // EnableTracing changes Envoy log level to "trace", producing the most logs.
@@ -103,18 +101,19 @@ type EmbeddedEnvoy struct {
 }
 
 type embeddedEnvoyConfig struct {
-       runDir                   string
-       logPath                  string
-       defaultLogLevel          string
-       baseID                   uint64
-       keepCapNetBindService    bool
-       connectTimeout           int64
-       maxRequestsPerConnection uint32
-       maxConnectionDuration    time.Duration
-       idleTimeout              time.Duration
-       maxConcurrentRetries     uint32
-       maxConnections           uint32
-       maxRequests              uint32
+       runDir                         string
+       logPath                        string
+       defaultLogLevel                string
+       baseID                         uint64
+       keepCapNetBindService          bool
+       connectTimeout                 int64
+       maxActiveDownstreamConnections int64
+       maxRequestsPerConnection       uint32
+       maxConnectionDuration          time.Duration
+       idleTimeout                    time.Duration
+       maxConcurrentRetries           uint32
+       maxConnections                 uint32
+       maxRequests                    uint32
 }
 
 // startEmbeddedEnvoyInternal starts an Envoy proxy instance.
@@ -136,20 +135,21 @@ func (o *onDemandXdsStarter) startEmbeddedEnvoyInternal(config embeddedEnvoyConf
        bootstrapFilePath := filepath.Join(bootstrapDir, "bootstrap.pb")
 
        o.writeBootstrapConfigFile(bootstrapConfig{
-               filePath:                 bootstrapFilePath,
-               nodeId:                   "host~127.0.0.1~no-id~localdomain", // node id format inherited from Istio
-               cluster:                  ingressClusterName,
-               adminPath:                getAdminSocketPath(GetSocketDir(config.runDir)),
-               xdsSock:                  getXDSSocketPath(GetSocketDir(config.runDir)),
-               egressClusterName:        egressClusterName,
-               ingressClusterName:       ingressClusterName,
-               connectTimeout:           config.connectTimeout,
-               maxRequestsPerConnection: config.maxRequestsPerConnection,
-               maxConnectionDuration:    config.maxConnectionDuration,
-               idleTimeout:              config.idleTimeout,
-               maxConcurrentRetries:     config.maxConcurrentRetries,
-               maxConnections:           config.maxConnections,
-               maxRequests:              config.maxRequests,
+               filePath:                       bootstrapFilePath,
+               nodeId:                         "host~127.0.0.1~no-id~localdomain", // node id format inherited from Istio
+               cluster:                        ingressClusterName,
+               adminPath:                      getAdminSocketPath(GetSocketDir(config.runDir)),
+               xdsSock:                        getXDSSocketPath(GetSocketDir(config.runDir)),
+               egressClusterName:              egressClusterName,
+               ingressClusterName:             ingressClusterName,
+               connectTimeout:                 config.connectTimeout,
+               maxRequestsPerConnection:       config.maxRequestsPerConnection,
+               maxActiveDownstreamConnections: config.maxActiveDownstreamConnections,
+               maxConnectionDuration:          config.maxConnectionDuration,
+               idleTimeout:                    config.idleTimeout,
+               maxConcurrentRetries:           config.maxConcurrentRetries,
+               maxConnections:                 config.maxConnections,
+               maxRequests:                    config.maxRequests,
        })
 
        o.logger.Debug("Envoy: Starting embedded Envoy")
@@ -358,20 +358,21 @@ func (e *EmbeddedEnvoy) GetAdminClient() *EnvoyAdminClient {
 }
 
 type bootstrapConfig struct {
-       filePath                 string
-       nodeId                   string
-       cluster                  string
-       adminPath                string
-       xdsSock                  string
-       egressClusterName        string
-       ingressClusterName       string
-       connectTimeout           int64
-       maxRequestsPerConnection uint32
-       maxConnectionDuration    time.Duration
-       idleTimeout              time.Duration
-       maxConcurrentRetries     uint32
-       maxConnections           uint32
-       maxRequests              uint32
+       filePath                       string
+       nodeId                         string
+       cluster                        string
+       adminPath                      string
+       xdsSock                        string
+       egressClusterName              string
+       ingressClusterName             string
+       connectTimeout                 int64
+       maxActiveDownstreamConnections int64
+       maxRequestsPerConnection       uint32
+       maxConnectionDuration          time.Duration
+       idleTimeout                    time.Duration
+       maxConcurrentRetries           uint32
+       maxConnections                 uint32
+       maxRequests                    uint32
 }
 
 func (o *onDemandXdsStarter) writeBootstrapConfigFile(config bootstrapConfig) {
@@ -542,7 +543,7 @@ func (o *onDemandXdsStarter) writeBootstrapConfigFile(config bootstrapConfig) {
                                Name: "envoy.resource_monitors.global_downstream_max_connections",
                                ConfigType: &envoy_config_overload.ResourceMonitor_TypedConfig{
                                        TypedConfig: toAny(&envoy_extensions_resource_monitors_downstream_connections.DownstreamConnectionsConfig{
-                                               MaxActiveDownstreamConnections: maxActiveDownstreamConnections,
+                                               MaxActiveDownstreamConnections: config.maxActiveDownstreamConnections,
                                        }),
                                },
                        }},
index e723a56ea88efcd7350fc2c912b9b8871bf28413..a56b97d7e8363f1817ecf037c33c826f53d6c9eb 100644 (file)
@@ -17,21 +17,22 @@ import (
 type onDemandXdsStarter struct {
        XDSServer
 
-       logger                   *slog.Logger
-       runDir                   string
-       envoyLogPath             string
-       envoyDefaultLogLevel     string
-       envoyBaseID              uint64
-       keepCapNetBindService    bool
-       metricsListenerPort      int
-       adminListenerPort        int
-       connectTimeout           int64
-       maxRequestsPerConnection uint32
-       maxConnectionDuration    time.Duration
-       idleTimeout              time.Duration
-       maxConcurrentRetries     uint32
-       maxConnections           uint32
-       maxRequests              uint32
+       logger                         *slog.Logger
+       runDir                         string
+       envoyLogPath                   string
+       envoyDefaultLogLevel           string
+       envoyBaseID                    uint64
+       keepCapNetBindService          bool
+       metricsListenerPort            int
+       adminListenerPort              int
+       connectTimeout                 int64
+       maxActiveDownstreamConnections int64
+       maxRequestsPerConnection       uint32
+       maxConnectionDuration          time.Duration
+       idleTimeout                    time.Duration
+       maxConcurrentRetries           uint32
+       maxConnections                 uint32
+       maxRequests                    uint32
 
        envoyOnce sync.Once
 }
@@ -74,18 +75,19 @@ func (o *onDemandXdsStarter) startEmbeddedEnvoy(wg *completion.WaitGroup) error
        o.envoyOnce.Do(func() {
                // Start embedded Envoy on first invocation
                _, startErr = o.startEmbeddedEnvoyInternal(embeddedEnvoyConfig{
-                       runDir:                   o.runDir,
-                       logPath:                  o.envoyLogPath,
-                       defaultLogLevel:          o.envoyDefaultLogLevel,
-                       baseID:                   o.envoyBaseID,
-                       keepCapNetBindService:    o.keepCapNetBindService,
-                       connectTimeout:           o.connectTimeout,
-                       maxRequestsPerConnection: o.maxRequestsPerConnection,
-                       maxConnectionDuration:    o.maxConnectionDuration,
-                       idleTimeout:              o.idleTimeout,
-                       maxConcurrentRetries:     o.maxConcurrentRetries,
-                       maxConnections:           o.maxConnections,
-                       maxRequests:              o.maxRequests,
+                       runDir:                         o.runDir,
+                       logPath:                        o.envoyLogPath,
+                       defaultLogLevel:                o.envoyDefaultLogLevel,
+                       baseID:                         o.envoyBaseID,
+                       keepCapNetBindService:          o.keepCapNetBindService,
+                       connectTimeout:                 o.connectTimeout,
+                       maxActiveDownstreamConnections: o.maxActiveDownstreamConnections,
+                       maxRequestsPerConnection:       o.maxRequestsPerConnection,
+                       maxConnectionDuration:          o.maxConnectionDuration,
+                       idleTimeout:                    o.idleTimeout,
+                       maxConcurrentRetries:           o.maxConcurrentRetries,
+                       maxConnections:                 o.maxConnections,
+                       maxRequests:                    o.maxRequests,
                })
 
                // Add Prometheus listener if the port is (properly) configured