Skip to content

Commit f128bcc

Browse files
authored
fix: allow envoy gateway service customization (#1932)
Signed-off-by: Patrice Billaut <[email protected]>
1 parent 3873bdb commit f128bcc

File tree

2 files changed

+70
-1
lines changed

2 files changed

+70
-1
lines changed

dist/chart/templates/gateway-instance/gateway.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,10 @@ spec:
7070
- name: shutdown-manager
7171
image: {{ .Values.gateway.envoyProxy.container.shutdownManager.image }}
7272
resources: {{ toYaml .Values.gateway.envoyProxy.container.shutdownManager.resources | nindent 24 }}
73+
{{- with .Values.gateway.envoyProxy.service }}
74+
envoyService:
75+
{{- toYaml . | nindent 8 }}
76+
{{- end }}
7377
---
7478
apiVersion: gateway.envoyproxy.io/v1alpha1
7579
kind: ClientTrafficPolicy

dist/chart/values.schema.json

Lines changed: 66 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,10 @@
157157
}
158158
}
159159
}
160+
},
161+
"service": {
162+
"$ref": "#/$defs/kubernetesServiceSpec",
163+
"description": "Kubernetes Service configuration for envoy proxy"
160164
}
161165
}
162166
},
@@ -442,6 +446,67 @@
442446
}
443447
},
444448
"required": ["host", "port"]
449+
},
450+
"kubernetesServiceSpec": {
451+
"type": "object",
452+
"description": "Defines the desired state of the Kubernetes Service resource.",
453+
"properties": {
454+
"annotations": {
455+
"type": "object",
456+
"additionalProperties": {
457+
"type": "string"
458+
},
459+
"description": "Annotations that should be appended to the service"
460+
},
461+
"type": {
462+
"type": "string",
463+
"enum": ["ClusterIP", "LoadBalancer", "NodePort"],
464+
"description": "Determines how the Service is exposed"
465+
},
466+
"loadBalancerClass": {
467+
"type": "string",
468+
"description": "When specified, allows for choosing the LoadBalancer provider implementation"
469+
},
470+
"allocateLoadBalancerNodePorts": {
471+
"type": "boolean",
472+
"description": "Defines if NodePorts will be automatically allocated for services with type LoadBalancer"
473+
},
474+
"loadBalancerSourceRanges": {
475+
"type": "array",
476+
"items": {
477+
"type": "string"
478+
},
479+
"description": "Defines a list of allowed IP addresses which will be configured as firewall rules on the platform providers load balancer"
480+
},
481+
"loadBalancerIP": {
482+
"type": "string",
483+
"description": "Defines the IP Address of the underlying load balancer (deprecated)"
484+
},
485+
"externalTrafficPolicy": {
486+
"type": "string",
487+
"enum": ["Cluster", "Local"],
488+
"description": "Determines the external traffic policy for the Envoy Service"
489+
},
490+
"patch": {
491+
"type": "object",
492+
"description": "Patch defines how to perform the patch operation to the service",
493+
"properties": {
494+
"type": {
495+
"type": "string",
496+
"enum": ["StrategicMerge", "JSONMerge"],
497+
"description": "The type of merge operation to perform"
498+
},
499+
"value": {
500+
"type": "object",
501+
"description": "The raw configuration for merged objects"
502+
}
503+
}
504+
},
505+
"name": {
506+
"type": "string",
507+
"description": "Name of the service. If not set, the default name will be used"
508+
}
509+
}
445510
}
446511
}
447-
}
512+
}

0 commit comments

Comments
 (0)