Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add option to ExternalService to control envoy proxy arguments #43

Merged
merged 11 commits into from
Apr 5, 2024
Next Next commit
Add option to ExternalService to control envoy proxy arguments
  • Loading branch information
cottand committed Apr 4, 2024
commit 3b7ec6b2a8aaef08bf42ef7721248bcd04650a39
3 changes: 3 additions & 0 deletions api/v1/externalservice_types.go
Original file line number Diff line number Diff line change
@@ -63,6 +63,9 @@ type ExternalServiceSpec struct {
// +optional
EnvoyClusterMaxConnections *uint32 `json:"envoyClusterMaxConnections,omitempty"`

// Additional arguments passed to the Envoy proxy image
EnvoyArguments []string `json:"envoyArguments,omitempty"`

// Provides a way to override the global default
// +optional
ServiceTopologyMode string `json:"serviceTopologyMode,omitempty"`
5 changes: 5 additions & 0 deletions config/crd/bases/egress.monzo.com_externalservices.yaml
Original file line number Diff line number Diff line change
@@ -39,6 +39,11 @@ spec:
dnsName:
description: DnsName is a DNS name target for the external service
type: string
envoyArguments:
description: Additional arguments passed to the Envoy proxy image
type: array
items:
type: string
envoyClusterMaxConnections:
description: The maximum number of connections that Envoy will establish
to all hosts in an upstream cluster (defaults to 1024). If this
1 change: 1 addition & 0 deletions controllers/deployment.go
Original file line number Diff line number Diff line change
@@ -189,6 +189,7 @@ func deployment(es *egressv1.ExternalService, configHash string) *appsv1.Deploym
{
Name: "gateway",
Image: img,
Args: es.Spec.EnvoyArguments,
ImagePullPolicy: corev1.PullIfNotPresent,
Ports: deploymentPorts(es),
VolumeMounts: []corev1.VolumeMount{