diff --git a/api/v1alpha1/api.go b/api/v1alpha1/api.go index 36453e7c0..e022ae201 100644 --- a/api/v1alpha1/api.go +++ b/api/v1alpha1/api.go @@ -261,13 +261,6 @@ type AIGatewayFilterConfigExternalProcess struct { // // +optional Resources *corev1.ResourceRequirements `json:"resources,omitempty"` - // Image is the image of the external process container. - // - // This defaults to the ghcr.io/envoyproxy/ai-gateway/extproc:${VERSION} image where - // ${VERSION} is the version of the Envoy AI Gateway controller. - // - // +optional - Image string `json:"image,omitempty"` // TODO: maybe adding the option not to deploy the external process filter and let the user deploy it manually? // Not sure if it is worth it as we are migrating to dynamic modules. } diff --git a/internal/controller/ai_gateway_route.go b/internal/controller/ai_gateway_route.go index 0b7da469e..90c14220c 100644 --- a/internal/controller/ai_gateway_route.go +++ b/internal/controller/ai_gateway_route.go @@ -293,7 +293,4 @@ func applyExtProcDeploymentConfigUpdate(d *appsv1.DeploymentSpec, filterConfig * if replica := extProc.Replicas; replica != nil { d.Replicas = replica } - if image := extProc.Image; image != "" { - d.Template.Spec.Containers[0].Image = image - } } diff --git a/internal/controller/ai_gateway_route_test.go b/internal/controller/ai_gateway_route_test.go index 6b5e34500..e3bb0d147 100644 --- a/internal/controller/ai_gateway_route_test.go +++ b/internal/controller/ai_gateway_route_test.go @@ -178,13 +178,11 @@ func Test_applyExtProcDeploymentConfigUpdate(t *testing.T) { ExternalProcess: &aigv1a1.AIGatewayFilterConfigExternalProcess{ Resources: &req, Replicas: ptr.To[int32](123), - Image: "some-image", }, }, ) require.Equal(t, req, dep.Template.Spec.Containers[0].Resources) require.Equal(t, int32(123), *dep.Replicas) - require.Equal(t, "some-image", dep.Template.Spec.Containers[0].Image) }) } diff --git a/manifests/charts/ai-gateway-helm/crds/aigateway.envoyproxy.io_aigatewayroutes.yaml b/manifests/charts/ai-gateway-helm/crds/aigateway.envoyproxy.io_aigatewayroutes.yaml index 5592212ca..eb3ecb71f 100644 --- a/manifests/charts/ai-gateway-helm/crds/aigateway.envoyproxy.io_aigatewayroutes.yaml +++ b/manifests/charts/ai-gateway-helm/crds/aigateway.envoyproxy.io_aigatewayroutes.yaml @@ -66,13 +66,6 @@ spec: ExternalProcess is the configuration for the external process filter. This is optional, and if not set, the default values of Deployment spec will be used. properties: - image: - description: |- - Image is the image of the external process container. - - This defaults to the ghcr.io/envoyproxy/ai-gateway/extproc:${VERSION} image where - ${VERSION} is the version of the Envoy AI Gateway controller. - type: string replicas: description: Replicas is the number of desired pods of the external process deployment. diff --git a/manifests/charts/ai-gateway-helm/templates/deployment.yaml b/manifests/charts/ai-gateway-helm/templates/deployment.yaml index c13f6813c..c0817e539 100644 --- a/manifests/charts/ai-gateway-helm/templates/deployment.yaml +++ b/manifests/charts/ai-gateway-helm/templates/deployment.yaml @@ -35,6 +35,7 @@ spec: - containerPort: 9090 args: - -zap-log-level={{ .Values.controller.logLevel }} + - --extprocImage={{ .Values.extProcImage.repository }}:{{ .Values.extProcImage.tag | default .Chart.AppVersion }} livenessProbe: grpc: port: 1063 diff --git a/manifests/charts/ai-gateway-helm/values.yaml b/manifests/charts/ai-gateway-helm/values.yaml index eda3f9b33..d096adba1 100644 --- a/manifests/charts/ai-gateway-helm/values.yaml +++ b/manifests/charts/ai-gateway-helm/values.yaml @@ -1,9 +1,5 @@ # Default values for ai-gateway-helm. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. -# ExtProc resource will be configured at CRD level, so we only need to specify the image here. -# TODO: this also might be moved to a CRD level as in https://github.com/envoyproxy/ai-gateway/issues/82 extProcImage: repository: ghcr.io/envoyproxy/ai-gateway/extproc # Overrides the image tag whose default is the chart appVersion.