From 5d841a5024d7e4048ebfc36be0f6920c41ebb9a9 Mon Sep 17 00:00:00 2001 From: Nicholas Kuechler Date: Tue, 25 Aug 2026 17:01:59 -0500 Subject: [PATCH] feat(envoy): Adds more envoy replicas for higher performance. JIRA:PUC-2007 --- .../templates/gw-external.yaml.tpl | 13 +++ .../templates/gw-internal.yaml.tpl | 13 +++ components/envoy-configs/values.schema.json | 84 +++++++++++++++++++ 3 files changed, 110 insertions(+) diff --git a/components/envoy-configs/templates/gw-external.yaml.tpl b/components/envoy-configs/templates/gw-external.yaml.tpl index 97331a421..cbb857f26 100644 --- a/components/envoy-configs/templates/gw-external.yaml.tpl +++ b/components/envoy-configs/templates/gw-external.yaml.tpl @@ -69,6 +69,19 @@ spec: provider: type: Kubernetes kubernetes: + {{- with .Values.gateways.external.envoyDeployment }} + envoyDeployment: + {{- if .replicas }} + replicas: {{ .replicas }} + {{- end }} + {{- if .container }} + container: + {{- if .container.resources }} + resources: + {{- .container.resources | toYaml | nindent 12 }} + {{- end }} + {{- end }} + {{- end }} envoyService: annotations: {{- .Values.gateways.external.serviceAnnotations | toYaml | nindent 10 }} diff --git a/components/envoy-configs/templates/gw-internal.yaml.tpl b/components/envoy-configs/templates/gw-internal.yaml.tpl index a5f4785f8..95ee9a9e4 100644 --- a/components/envoy-configs/templates/gw-internal.yaml.tpl +++ b/components/envoy-configs/templates/gw-internal.yaml.tpl @@ -32,6 +32,19 @@ spec: provider: type: Kubernetes kubernetes: + {{- with .Values.gateways.internal.envoyDeployment }} + envoyDeployment: + {{- if .replicas }} + replicas: {{ .replicas }} + {{- end }} + {{- if .container }} + container: + {{- if .container.resources }} + resources: + {{- .container.resources | toYaml | nindent 12 }} + {{- end }} + {{- end }} + {{- end }} envoyService: annotations: {{- .Values.gateways.internal.serviceAnnotations | toYaml | nindent 10 }} diff --git a/components/envoy-configs/values.schema.json b/components/envoy-configs/values.schema.json index 536dd44c1..d356f2df7 100644 --- a/components/envoy-configs/values.schema.json +++ b/components/envoy-configs/values.schema.json @@ -27,6 +27,48 @@ "serviceAnnotations": { "type": "object", "description": "Annotations to be placed on the Service generated for this gateway" + }, + "externalTrafficPolicy": { + "type": "string", + "description": "External traffic policy for the gateway service", + "enum": ["Cluster", "Local"] + }, + "envoyDeployment": { + "type": "object", + "description": "Configuration for the Envoy proxy deployment pods", + "properties": { + "replicas": { + "type": "integer", + "minimum": 1, + "description": "Number of Envoy proxy pod replicas" + }, + "container": { + "type": "object", + "description": "Container-level configuration for the Envoy proxy", + "properties": { + "resources": { + "type": "object", + "description": "Resource requests and limits for the Envoy proxy container", + "properties": { + "requests": { + "type": "object", + "properties": { + "cpu": { "type": "string" }, + "memory": { "type": "string" } + } + }, + "limits": { + "type": "object", + "properties": { + "cpu": { "type": "string" }, + "memory": { "type": "string" } + } + } + } + } + } + } + } } }, "required": [ @@ -55,6 +97,48 @@ "serviceAnnotations": { "type": "object", "description": "Annotations to be placed on the Service generated for this gateway" + }, + "externalTrafficPolicy": { + "type": "string", + "description": "External traffic policy for the gateway service", + "enum": ["Cluster", "Local"] + }, + "envoyDeployment": { + "type": "object", + "description": "Configuration for the Envoy proxy deployment pods", + "properties": { + "replicas": { + "type": "integer", + "minimum": 1, + "description": "Number of Envoy proxy pod replicas" + }, + "container": { + "type": "object", + "description": "Container-level configuration for the Envoy proxy", + "properties": { + "resources": { + "type": "object", + "description": "Resource requests and limits for the Envoy proxy container", + "properties": { + "requests": { + "type": "object", + "properties": { + "cpu": { "type": "string" }, + "memory": { "type": "string" } + } + }, + "limits": { + "type": "object", + "properties": { + "cpu": { "type": "string" }, + "memory": { "type": "string" } + } + } + } + } + } + } + } } }, "required": [