MCPRemoteProxy podTemplateSpec ports without protocol cause repeated Deployment updates
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- Medio día
- Aptitud para principiantes
- 68/100
Línea de trabajo
Start in cmd/thv-operator/controllers/mcpremoteproxy_controller.go at remoteProxyContainerFieldsNeedUpdate and compare its port check with ContainerPortsDiffer in cmd/thv-operator/pkg/controllerutil/authserver.go. The issue also flags env, probe, and security context comparisons as possible defaulting gaps. Check or add focused tests for repeated reconciliation with an omitted port protocol; done means the Deployment no longer updates repeatedly for that case.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
When an MCPRemoteProxy has a spec.podTemplateSpec that adds a port to the proxy container without setting protocol, the operator likely sees a difference on every reconcile and keeps updating the Deployment.
remoteProxyContainerFieldsNeedUpdate in cmd/thv-operator/controllers/mcpremoteproxy_controller.go compares the live container with the expected one built by deploymentForMCPRemoteProxy:
!equality.Semantic.DeepEqual(current.Ports, expected.Ports) ||
The expected container comes from applying the raw podTemplateSpec patch, so a port written as
ports:
- name: metrics
containerPort: 9090
has Protocol: "" on the expected side. The API server fills in TCP on the stored Deployment, so DeepEqual never matches.
I found this by reading the code while reviewing the operator port changes for the auth server TLS listener. I haven't reproduced it on a cluster. VirtualMCPServer had the same issue in that work and now treats an empty protocol as TCP when comparing ports (ContainerPortsDiffer in cmd/thv-operator/pkg/controllerutil/authserver.go). The same approach, or comparing ports with that helper, should work here. The other DeepEqual checks in that function (env, probes, security context) may have similar API-server defaulting gaps and are worth a look at the same time.
- Lenguaje dominante
- Go
- Estrellas
- 2.3k
- Forks
- 326
- Merge medio
- 1 d 53 min
- PR fusionados (30 d)
- 155
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de stacklok/toolhive
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
stacklok/toolhive#6925 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
proxyrunner tool-filter middleware strips SEP-2322 Modern envelope from tools/list, breaking vMCP health checksQuizá libre de nuevo @alex-feel la tomó hace 46 días y no hay ningún pull request abierto. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
stacklok/toolhive#6684 · 5 comentarios · 1 reacción · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
HttpClientBuilder.Build() ignores HTTP(S)_PROXY (auth-server OAuth/DCR calls bypass forward proxy)Posiblemente ocupada @schonmann la tomó hace 37 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
stacklok/toolhive#6671 · 2 comentarios · 1 reacción · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Delete the dead pkg/vmcp/server/adapter packageQuizá libre de nuevo @suantea la tomó hace 30 días y no hay ningún pull request abierto. Abiertoneeds-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
Outgoing strategies differ on no-subject-provider fallback (xaa hard-fails, token_exchange and aws_sts fall back) and it is undocumentedQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
Todos los issues de stacklok/toolhive
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
--info inline-right:PREFIX leaves the first character of the prefix when the info gets shorterAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
-
[BUG] EphemeralJob matches every pod in the namespace when spec.selector is emptyPosiblemente ocupada @vishnums2k5 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
openkruise/kruise#2656 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Support kubevirt CRDsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
rancher/rancher-ai-mcp#206 ·
Los mantenedores suelen responder en 1 día
-
test: make command and stdio startup tests portablePosiblemente ocupada @dajiaohuang la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
mark3labs/mcp-go#1220 · 1 comentario ·
Los mantenedores suelen responder en 1 día