From a2d52be7dfc66db1225b92423de03de035ddcfe8 Mon Sep 17 00:00:00 2001 From: Matt Van Horn <455140+mvanhorn@users.noreply.github.com> Date: Tue, 7 Apr 2026 03:03:56 -0700 Subject: [PATCH 1/3] refactor: rename McpPort to MCPPort for Go naming conventions Rename the Go struct field McpPort to MCPPort and the method GetMcpPort to GetMCPPort to follow Go convention of all-caps acronyms. JSON tag remains mcpPort (no wire-format change). Closes #4582 --- cmd/thv-operator/api/v1alpha1/mcpserver_types.go | 12 ++++++------ .../controllers/mcpserver_runconfig.go | 2 +- .../controllers/mcpserver_runconfig_test.go | 14 +++++++------- .../mcpserver_controller_integration_test.go | 2 +- .../mcpserver_runconfig_integration_test.go | 4 ++-- pkg/export/k8s.go | 2 +- pkg/export/k8s_test.go | 2 +- test/e2e/thv-operator/virtualmcp/helpers.go | 4 ++-- .../virtualmcp/virtualmcp_auth_discovery_test.go | 4 ++-- .../virtualmcp/virtualmcp_circuit_breaker_test.go | 4 ++-- .../virtualmcp/virtualmcp_discovered_mode_test.go | 6 +++--- .../virtualmcp/virtualmcp_external_auth_test.go | 12 ++++++------ .../virtualmcp_session_management_test.go | 4 ++-- .../virtualmcp/virtualmcp_telemetry_test.go | 2 +- .../virtualmcp/virtualmcp_yardstick_base_test.go | 4 ++-- .../virtualmcp/virtualmcpserver_scaling_test.go | 4 ++-- 16 files changed, 41 insertions(+), 41 deletions(-) diff --git a/cmd/thv-operator/api/v1alpha1/mcpserver_types.go b/cmd/thv-operator/api/v1alpha1/mcpserver_types.go index 1c6e930224..277046e078 100644 --- a/cmd/thv-operator/api/v1alpha1/mcpserver_types.go +++ b/cmd/thv-operator/api/v1alpha1/mcpserver_types.go @@ -221,11 +221,11 @@ type MCPServerSpec struct { // +kubebuilder:default=8080 ProxyPort int32 `json:"proxyPort,omitempty"` - // McpPort is the port that MCP server listens to + // MCPPort is the port that MCP server listens to // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 // +optional - McpPort int32 `json:"mcpPort,omitempty"` + MCPPort int32 `json:"mcpPort,omitempty"` // Args are additional arguments to pass to the MCP server // +listType=atomic @@ -1149,10 +1149,10 @@ func (m *MCPServer) GetProxyPort() int32 { return 8080 } -// GetMcpPort returns the MCP port of the MCPServer -func (m *MCPServer) GetMcpPort() int32 { - if m.Spec.McpPort > 0 { - return m.Spec.McpPort +// GetMCPPort returns the MCP port of the MCPServer +func (m *MCPServer) GetMCPPort() int32 { + if m.Spec.MCPPort > 0 { + return m.Spec.MCPPort } return 8080 } diff --git a/cmd/thv-operator/controllers/mcpserver_runconfig.go b/cmd/thv-operator/controllers/mcpserver_runconfig.go index 25767c26c0..92c1f98d1b 100644 --- a/cmd/thv-operator/controllers/mcpserver_runconfig.go +++ b/cmd/thv-operator/controllers/mcpserver_runconfig.go @@ -145,7 +145,7 @@ func (r *MCPServerReconciler) createRunConfigFromMCPServer(m *mcpv1alpha1.MCPSer runner.WithName(m.Name), runner.WithImage(m.Spec.Image), runner.WithCmdArgs(m.Spec.Args), - runner.WithTransportAndPorts(m.Spec.Transport, int(m.GetProxyPort()), int(m.GetMcpPort())), + runner.WithTransportAndPorts(m.Spec.Transport, int(m.GetProxyPort()), int(m.GetMCPPort())), runner.WithProxyMode(transporttypes.ProxyMode(effectiveProxyMode)), runner.WithHost(proxyHost), runner.WithTrustProxyHeaders(m.Spec.TrustProxyHeaders), diff --git a/cmd/thv-operator/controllers/mcpserver_runconfig_test.go b/cmd/thv-operator/controllers/mcpserver_runconfig_test.go index 02492257de..0750c29474 100644 --- a/cmd/thv-operator/controllers/mcpserver_runconfig_test.go +++ b/cmd/thv-operator/controllers/mcpserver_runconfig_test.go @@ -222,7 +222,7 @@ func TestCreateRunConfigFromMCPServer(t *testing.T) { Image: testImage, Transport: "sse", ProxyPort: 8080, - McpPort: 8080, + MCPPort: 8080, // ProxyMode set to streamable-http (should be ignored and set to "sse") ProxyMode: streamableHTTPProxyMode, }, @@ -249,7 +249,7 @@ func TestCreateRunConfigFromMCPServer(t *testing.T) { Image: testImage, Transport: "sse", ProxyPort: 8080, - McpPort: 8080, + MCPPort: 8080, // ProxyMode not specified }, }, @@ -272,7 +272,7 @@ func TestCreateRunConfigFromMCPServer(t *testing.T) { Image: testImage, Transport: "streamable-http", ProxyPort: 8080, - McpPort: 8080, + MCPPort: 8080, // ProxyMode set to sse (should be ignored and set to "streamable-http") ProxyMode: sseProxyMode, }, @@ -296,7 +296,7 @@ func TestCreateRunConfigFromMCPServer(t *testing.T) { Image: testImage, Transport: "streamable-http", ProxyPort: 8080, - McpPort: 8080, + MCPPort: 8080, // ProxyMode not specified }, }, @@ -319,7 +319,7 @@ func TestCreateRunConfigFromMCPServer(t *testing.T) { Image: "comprehensive:latest", Transport: "streamable-http", ProxyPort: 9090, - McpPort: 8080, + MCPPort: 8080, ProxyMode: "streamable-http", Args: []string{"--comprehensive", "--test"}, Env: []mcpv1alpha1.EnvVar{ @@ -609,7 +609,7 @@ func TestDeterministicConfigMapGeneration(t *testing.T) { Image: "deterministic-test:v1.2.3", Transport: "sse", ProxyPort: 9090, - McpPort: 8080, + MCPPort: 8080, Args: []string{"--arg1", "--arg2", "--complex-flag=value"}, Env: []mcpv1alpha1.EnvVar{ {Name: "VAR_C", Value: "value_c"}, @@ -1416,7 +1416,7 @@ func TestMCPServerModificationScenarios(t *testing.T) { modifyServer: func(server *mcpv1alpha1.MCPServer) { server.Spec.Transport = "sse" server.Spec.ProxyPort = 9090 - server.Spec.McpPort = 8080 + server.Spec.MCPPort = 8080 }, expectedChanges: map[string]interface{}{ "Transport": transporttypes.TransportTypeSSE, diff --git a/cmd/thv-operator/test-integration/mcp-server/mcpserver_controller_integration_test.go b/cmd/thv-operator/test-integration/mcp-server/mcpserver_controller_integration_test.go index c5731dec2d..846cb3944b 100644 --- a/cmd/thv-operator/test-integration/mcp-server/mcpserver_controller_integration_test.go +++ b/cmd/thv-operator/test-integration/mcp-server/mcpserver_controller_integration_test.go @@ -67,7 +67,7 @@ var _ = Describe("MCPServer Controller Integration Tests", func() { Transport: "stdio", ProxyMode: "sse", ProxyPort: 8080, - McpPort: 8080, + MCPPort: 8080, Args: []string{"--verbose"}, Env: []mcpv1alpha1.EnvVar{ { diff --git a/cmd/thv-operator/test-integration/mcp-server/mcpserver_runconfig_integration_test.go b/cmd/thv-operator/test-integration/mcp-server/mcpserver_runconfig_integration_test.go index 223e7fa395..edcb62a849 100644 --- a/cmd/thv-operator/test-integration/mcp-server/mcpserver_runconfig_integration_test.go +++ b/cmd/thv-operator/test-integration/mcp-server/mcpserver_runconfig_integration_test.go @@ -63,7 +63,7 @@ var _ = Describe("RunConfig ConfigMap Integration Tests", func() { Transport: "stdio", ProxyMode: "sse", ProxyPort: 8080, - McpPort: 8081, + MCPPort: 8081, Args: []string{"--verbose", "--debug"}, Env: []mcpv1alpha1.EnvVar{ { @@ -775,7 +775,7 @@ var _ = Describe("RunConfig ConfigMap Integration Tests", func() { Image: "deterministic/mcp-server:v1.0.0", Transport: "sse", ProxyPort: 9090, - McpPort: 8080, + MCPPort: 8080, Args: []string{"--arg1", "--arg2", "--arg3"}, Env: []mcpv1alpha1.EnvVar{ {Name: "VAR_C", Value: "value_c"}, diff --git a/pkg/export/k8s.go b/pkg/export/k8s.go index 5bfe928441..e57cfda9aa 100644 --- a/pkg/export/k8s.go +++ b/pkg/export/k8s.go @@ -84,7 +84,7 @@ func runConfigToMCPServer(config *runner.RunConfig) (*v1alpha1.MCPServer, error) // Set target port if specified if config.TargetPort > 0 { // #nosec G115 -- Port values are validated elsewhere, safe conversion - mcpServer.Spec.McpPort = int32(config.TargetPort) + mcpServer.Spec.MCPPort = int32(config.TargetPort) } // Set proxy mode if transport is stdio diff --git a/pkg/export/k8s_test.go b/pkg/export/k8s_test.go index 0d03400c99..b5d8d26017 100644 --- a/pkg/export/k8s_test.go +++ b/pkg/export/k8s_test.go @@ -82,7 +82,7 @@ func TestWriteK8sManifest(t *testing.T) { t.Helper() assert.Equal(t, "sse", mcpServer.Spec.Transport) assert.Equal(t, int32(8081), mcpServer.GetProxyPort()) - assert.Equal(t, int32(3000), mcpServer.GetMcpPort()) + assert.Equal(t, int32(3000), mcpServer.GetMCPPort()) }, }, { diff --git a/test/e2e/thv-operator/virtualmcp/helpers.go b/test/e2e/thv-operator/virtualmcp/helpers.go index 7f3e1c6dba..2ca2fdf21f 100644 --- a/test/e2e/thv-operator/virtualmcp/helpers.go +++ b/test/e2e/thv-operator/virtualmcp/helpers.go @@ -671,7 +671,7 @@ func CreateMCPServerAndWait( Image: image, Transport: "streamable-http", ProxyPort: 8080, - McpPort: 8080, + MCPPort: 8080, Resources: defaultMCPServerResources(), Env: []mcpv1alpha1.EnvVar{ {Name: "TRANSPORT", Value: "streamable-http"}, @@ -761,7 +761,7 @@ func CreateMultipleMCPServersInParallel( Image: backends[idx].Image, Transport: backendTransport, ProxyPort: 8080, - McpPort: 8080, + MCPPort: 8080, ExternalAuthConfigRef: backends[idx].ExternalAuthConfigRef, Secrets: backends[idx].Secrets, Resources: resources, diff --git a/test/e2e/thv-operator/virtualmcp/virtualmcp_auth_discovery_test.go b/test/e2e/thv-operator/virtualmcp/virtualmcp_auth_discovery_test.go index 8c74fe95cb..e933c8ee68 100644 --- a/test/e2e/thv-operator/virtualmcp/virtualmcp_auth_discovery_test.go +++ b/test/e2e/thv-operator/virtualmcp/virtualmcp_auth_discovery_test.go @@ -1450,7 +1450,7 @@ var _ = Describe("Auth Config Error Handling", Ordered, func() { Image: images.GofetchServerImage, Transport: "streamable-http", ProxyPort: 8080, - McpPort: 8080, + MCPPort: 8080, ExternalAuthConfigRef: &mcpv1alpha1.ExternalAuthConfigRef{ Name: workingAuthConfigName, }, @@ -1472,7 +1472,7 @@ var _ = Describe("Auth Config Error Handling", Ordered, func() { Image: images.GofetchServerImage, Transport: "streamable-http", ProxyPort: 8080, - McpPort: 8080, + MCPPort: 8080, // Reference a non-existent auth config to trigger error ExternalAuthConfigRef: &mcpv1alpha1.ExternalAuthConfigRef{ Name: missingAuthConfigName, diff --git a/test/e2e/thv-operator/virtualmcp/virtualmcp_circuit_breaker_test.go b/test/e2e/thv-operator/virtualmcp/virtualmcp_circuit_breaker_test.go index 94b427ab6b..5f10ab327f 100644 --- a/test/e2e/thv-operator/virtualmcp/virtualmcp_circuit_breaker_test.go +++ b/test/e2e/thv-operator/virtualmcp/virtualmcp_circuit_breaker_test.go @@ -56,7 +56,7 @@ var _ = Describe("VirtualMCPServer Circuit Breaker Lifecycle", Ordered, func() { Image: images.YardstickServerImage, Transport: "streamable-http", ProxyPort: 8080, - McpPort: 8080, + MCPPort: 8080, Env: []mcpv1alpha1.EnvVar{ {Name: "TRANSPORT", Value: "streamable-http"}, }, @@ -75,7 +75,7 @@ var _ = Describe("VirtualMCPServer Circuit Breaker Lifecycle", Ordered, func() { Image: images.YardstickServerImage, Transport: "streamable-http", ProxyPort: 8080, - McpPort: 8080, + MCPPort: 8080, Env: []mcpv1alpha1.EnvVar{ {Name: "TRANSPORT", Value: "streamable-http"}, }, diff --git a/test/e2e/thv-operator/virtualmcp/virtualmcp_discovered_mode_test.go b/test/e2e/thv-operator/virtualmcp/virtualmcp_discovered_mode_test.go index bedd349a0c..68c3978951 100644 --- a/test/e2e/thv-operator/virtualmcp/virtualmcp_discovered_mode_test.go +++ b/test/e2e/thv-operator/virtualmcp/virtualmcp_discovered_mode_test.go @@ -59,7 +59,7 @@ var _ = Describe("VirtualMCPServer Discovered Mode", Ordered, func() { Image: images.GofetchServerImage, Transport: "streamable-http", ProxyPort: 8080, - McpPort: 8080, + MCPPort: 8080, }, } Expect(k8sClient.Create(ctx, backend1)).To(Succeed()) @@ -75,7 +75,7 @@ var _ = Describe("VirtualMCPServer Discovered Mode", Ordered, func() { Image: images.OSVMCPServerImage, Transport: "streamable-http", ProxyPort: 8080, - McpPort: 8080, + MCPPort: 8080, }, } Expect(k8sClient.Create(ctx, backend2)).To(Succeed()) @@ -482,7 +482,7 @@ var _ = Describe("VirtualMCPServer Discovered Mode", Ordered, func() { Image: images.GofetchServerImage, Transport: "streamable-http", ProxyPort: 8080, - McpPort: 8080, + MCPPort: 8080, }, } Expect(k8sClient.Create(ctx, backend3)).To(Succeed()) diff --git a/test/e2e/thv-operator/virtualmcp/virtualmcp_external_auth_test.go b/test/e2e/thv-operator/virtualmcp/virtualmcp_external_auth_test.go index e05c2f6c18..fd1d73e47c 100644 --- a/test/e2e/thv-operator/virtualmcp/virtualmcp_external_auth_test.go +++ b/test/e2e/thv-operator/virtualmcp/virtualmcp_external_auth_test.go @@ -69,7 +69,7 @@ var _ = Describe("VirtualMCPServer Unauthenticated Backend Auth", Ordered, func( Image: images.GofetchServerImage, Transport: "streamable-http", ProxyPort: 8080, - McpPort: 8080, + MCPPort: 8080, // Reference the unauthenticated external auth config ExternalAuthConfigRef: &mcpv1alpha1.ExternalAuthConfigRef{ Name: externalAuthConfigName, @@ -244,7 +244,7 @@ var _ = Describe("VirtualMCPServer Inline Unauthenticated Backend Auth", Ordered Image: images.GofetchServerImage, Transport: "streamable-http", ProxyPort: 8080, - McpPort: 8080, + MCPPort: 8080, }, } Expect(k8sClient.Create(ctx, backend)).To(Succeed()) @@ -420,7 +420,7 @@ var _ = Describe("VirtualMCPServer HeaderInjection Backend Auth", Ordered, func( Image: images.GofetchServerImage, Transport: "streamable-http", ProxyPort: 8080, - McpPort: 8080, + MCPPort: 8080, // Reference the headerInjection external auth config ExternalAuthConfigRef: &mcpv1alpha1.ExternalAuthConfigRef{ Name: externalAuthConfigName, @@ -643,7 +643,7 @@ var _ = Describe("VirtualMCPServer Inline HeaderInjection Backend Auth", Ordered Image: images.GofetchServerImage, Transport: "streamable-http", ProxyPort: 8080, - McpPort: 8080, + MCPPort: 8080, }, } Expect(k8sClient.Create(ctx, backend)).To(Succeed()) @@ -834,7 +834,7 @@ var _ = Describe("VirtualMCPServer Health Check with HeaderInjection Auth", Orde Image: images.YardstickServerImage, Transport: "streamable-http", ProxyPort: 8080, - McpPort: 8080, + MCPPort: 8080, Env: []mcpv1alpha1.EnvVar{ {Name: "TRANSPORT", Value: "streamable-http"}, }, @@ -1050,7 +1050,7 @@ var _ = Describe("VirtualMCPServer Health Check with TokenExchange Auth", Ordere Image: images.YardstickServerImage, Transport: "streamable-http", ProxyPort: 8080, - McpPort: 8080, + MCPPort: 8080, Env: []mcpv1alpha1.EnvVar{ {Name: "TRANSPORT", Value: "streamable-http"}, }, diff --git a/test/e2e/thv-operator/virtualmcp/virtualmcp_session_management_test.go b/test/e2e/thv-operator/virtualmcp/virtualmcp_session_management_test.go index 86672f1285..07d47fe7df 100644 --- a/test/e2e/thv-operator/virtualmcp/virtualmcp_session_management_test.go +++ b/test/e2e/thv-operator/virtualmcp/virtualmcp_session_management_test.go @@ -71,7 +71,7 @@ var _ = ginkgo.Describe("VirtualMCPServer Session Management", func() { Image: images.YardstickServerImage, Transport: "streamable-http", ProxyPort: 8080, - McpPort: 8080, + MCPPort: 8080, }, })).To(gomega.Succeed()) @@ -445,7 +445,7 @@ var _ = ginkgo.Describe("VirtualMCPServer Session Management", func() { Image: images.YardstickServerImage, Transport: "streamable-http", ProxyPort: 8080, - McpPort: 8080, + MCPPort: 8080, }, })).To(gomega.Succeed()) diff --git a/test/e2e/thv-operator/virtualmcp/virtualmcp_telemetry_test.go b/test/e2e/thv-operator/virtualmcp/virtualmcp_telemetry_test.go index 42c3e59936..61f01c6904 100644 --- a/test/e2e/thv-operator/virtualmcp/virtualmcp_telemetry_test.go +++ b/test/e2e/thv-operator/virtualmcp/virtualmcp_telemetry_test.go @@ -46,7 +46,7 @@ var _ = Describe("VirtualMCPServer Telemetry Config", Ordered, func() { Image: images.YardstickServerImage, Transport: "streamable-http", ProxyPort: 8080, - McpPort: 8080, + MCPPort: 8080, Env: []mcpv1alpha1.EnvVar{ {Name: "TRANSPORT", Value: "streamable-http"}, }, diff --git a/test/e2e/thv-operator/virtualmcp/virtualmcp_yardstick_base_test.go b/test/e2e/thv-operator/virtualmcp/virtualmcp_yardstick_base_test.go index dee37216d4..4273a67cac 100644 --- a/test/e2e/thv-operator/virtualmcp/virtualmcp_yardstick_base_test.go +++ b/test/e2e/thv-operator/virtualmcp/virtualmcp_yardstick_base_test.go @@ -50,7 +50,7 @@ var _ = Describe("VirtualMCPServer Yardstick Base", Ordered, func() { Image: images.YardstickServerImage, Transport: "streamable-http", ProxyPort: 8080, - McpPort: 8080, + MCPPort: 8080, Env: []mcpv1alpha1.EnvVar{ {Name: "TRANSPORT", Value: "streamable-http"}, }, @@ -68,7 +68,7 @@ var _ = Describe("VirtualMCPServer Yardstick Base", Ordered, func() { Image: images.YardstickServerImage, Transport: "streamable-http", ProxyPort: 8080, - McpPort: 8080, + MCPPort: 8080, Env: []mcpv1alpha1.EnvVar{ {Name: "TRANSPORT", Value: "streamable-http"}, }, diff --git a/test/e2e/thv-operator/virtualmcp/virtualmcpserver_scaling_test.go b/test/e2e/thv-operator/virtualmcp/virtualmcpserver_scaling_test.go index 4a96e1edab..41a56f8872 100644 --- a/test/e2e/thv-operator/virtualmcp/virtualmcpserver_scaling_test.go +++ b/test/e2e/thv-operator/virtualmcp/virtualmcpserver_scaling_test.go @@ -79,7 +79,7 @@ var _ = ginkgo.Describe("VirtualMCPServer Horizontal Scaling", func() { Image: images.YardstickServerImage, Transport: "streamable-http", ProxyPort: 8080, - McpPort: 8080, + MCPPort: 8080, }, })).To(gomega.Succeed()) @@ -179,7 +179,7 @@ var _ = ginkgo.Describe("VirtualMCPServer Horizontal Scaling", func() { Image: images.YardstickServerImage, Transport: "streamable-http", ProxyPort: 8080, - McpPort: 8080, + MCPPort: 8080, }, })).To(gomega.Succeed()) From 3fdfd9a13ce0d3b3fbcfa8e44b094c49f5d6f1a3 Mon Sep 17 00:00:00 2001 From: Matt Van Horn <455140+mvanhorn@users.noreply.github.com> Date: Wed, 8 Apr 2026 11:04:00 -0700 Subject: [PATCH 2/3] chore: regenerate CRD manifests and docs after MCPPort rename Run `task operator-manifests` and `task crdref-gen` to update generated files with the McpPort -> MCPPort rename from the previous commit. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../files/crds/toolhive.stacklok.dev_mcpservers.yaml | 2 +- .../templates/toolhive.stacklok.dev_mcpservers.yaml | 2 +- docs/operator/crd-api.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/deploy/charts/operator-crds/files/crds/toolhive.stacklok.dev_mcpservers.yaml b/deploy/charts/operator-crds/files/crds/toolhive.stacklok.dev_mcpservers.yaml index 18498f6639..f323a25ff2 100644 --- a/deploy/charts/operator-crds/files/crds/toolhive.stacklok.dev_mcpservers.yaml +++ b/deploy/charts/operator-crds/files/crds/toolhive.stacklok.dev_mcpservers.yaml @@ -211,7 +211,7 @@ spec: description: Image is the container image for the MCP server type: string mcpPort: - description: McpPort is the port that MCP server listens to + description: MCPPort is the port that MCP server listens to format: int32 maximum: 65535 minimum: 1 diff --git a/deploy/charts/operator-crds/templates/toolhive.stacklok.dev_mcpservers.yaml b/deploy/charts/operator-crds/templates/toolhive.stacklok.dev_mcpservers.yaml index 60fbc22b52..9f2732ef2a 100644 --- a/deploy/charts/operator-crds/templates/toolhive.stacklok.dev_mcpservers.yaml +++ b/deploy/charts/operator-crds/templates/toolhive.stacklok.dev_mcpservers.yaml @@ -214,7 +214,7 @@ spec: description: Image is the container image for the MCP server type: string mcpPort: - description: McpPort is the port that MCP server listens to + description: MCPPort is the port that MCP server listens to format: int32 maximum: 65535 minimum: 1 diff --git a/docs/operator/crd-api.md b/docs/operator/crd-api.md index eb528d6e4d..0ffc6b8a13 100644 --- a/docs/operator/crd-api.md +++ b/docs/operator/crd-api.md @@ -2486,7 +2486,7 @@ _Appears in:_ | `transport` _string_ | Transport is the transport method for the MCP server (stdio, streamable-http or sse) | stdio | Enum: [stdio streamable-http sse]
| | `proxyMode` _string_ | ProxyMode is the proxy mode for stdio transport (sse or streamable-http)
This setting is ONLY applicable when Transport is "stdio".
For direct transports (sse, streamable-http), this field is ignored.
The default value is applied by Kubernetes but will be ignored for non-stdio transports. | streamable-http | Enum: [sse streamable-http]
Optional: \{\}
| | `proxyPort` _integer_ | ProxyPort is the port to expose the proxy runner on | 8080 | Maximum: 65535
Minimum: 1
| -| `mcpPort` _integer_ | McpPort is the port that MCP server listens to | | Maximum: 65535
Minimum: 1
Optional: \{\}
| +| `mcpPort` _integer_ | MCPPort is the port that MCP server listens to | | Maximum: 65535
Minimum: 1
Optional: \{\}
| | `args` _string array_ | Args are additional arguments to pass to the MCP server | | Optional: \{\}
| | `env` _[api.v1alpha1.EnvVar](#apiv1alpha1envvar) array_ | Env are environment variables to set in the MCP server container | | Optional: \{\}
| | `volumes` _[api.v1alpha1.Volume](#apiv1alpha1volume) array_ | Volumes are volumes to mount in the MCP server container | | Optional: \{\}
| From 258eff880f2fdede2250cff73559193157df145b Mon Sep 17 00:00:00 2001 From: Matt Van Horn <455140+mvanhorn@users.noreply.github.com> Date: Thu, 9 Apr 2026 20:32:53 -0700 Subject: [PATCH 3/3] fix: rename McpPort to MCPPort in remaining test files Fixes lint failure by applying the MCPPort rename to mcpserver_scaling_test.go and ratelimit_test.go which were missed in the previous commits. Co-Authored-By: Claude Opus 4.6 (1M context) --- test/e2e/thv-operator/acceptance_tests/ratelimit_test.go | 4 ++-- test/e2e/thv-operator/virtualmcp/mcpserver_scaling_test.go | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/test/e2e/thv-operator/acceptance_tests/ratelimit_test.go b/test/e2e/thv-operator/acceptance_tests/ratelimit_test.go index 1618a9b7fb..53a6ec78db 100644 --- a/test/e2e/thv-operator/acceptance_tests/ratelimit_test.go +++ b/test/e2e/thv-operator/acceptance_tests/ratelimit_test.go @@ -45,7 +45,7 @@ var _ = Describe("MCPServer Rate Limiting", Ordered, func() { Image: images.YardstickServerImage, Transport: "streamable-http", ProxyPort: 8080, - McpPort: 8080, + MCPPort: 8080, Env: []mcpv1alpha1.EnvVar{ {Name: "TRANSPORT", Value: "streamable-http"}, }, @@ -141,7 +141,7 @@ var _ = Describe("MCPServer Rate Limiting", Ordered, func() { Image: images.YardstickServerImage, Transport: "streamable-http", ProxyPort: 8080, - McpPort: 8080, + MCPPort: 8080, Env: []mcpv1alpha1.EnvVar{ {Name: "TRANSPORT", Value: "streamable-http"}, }, diff --git a/test/e2e/thv-operator/virtualmcp/mcpserver_scaling_test.go b/test/e2e/thv-operator/virtualmcp/mcpserver_scaling_test.go index c511155a8c..fc5a489733 100644 --- a/test/e2e/thv-operator/virtualmcp/mcpserver_scaling_test.go +++ b/test/e2e/thv-operator/virtualmcp/mcpserver_scaling_test.go @@ -224,7 +224,7 @@ var _ = ginkgo.Describe("MCPServer Cross-Replica Session Routing with Redis", fu Image: images.YardstickServerImage, Transport: "streamable-http", ProxyPort: proxyPort, - McpPort: 8080, + MCPPort: 8080, Replicas: &replicas, BackendReplicas: &backendReplicas, SessionAffinity: "None", @@ -386,7 +386,7 @@ var _ = ginkgo.Describe("MCPServer Cross-Replica Session Routing with Redis", fu Image: images.YardstickServerImage, Transport: "streamable-http", ProxyPort: proxyPort, - McpPort: 8080, + MCPPort: 8080, Replicas: &replicas, SessionAffinity: "None", SessionStorage: &mcpv1alpha1.SessionStorageConfig{