ronnybremer opened a new issue, #2793: URL: https://github.com/apache/apisix-ingress-controller/issues/2793
### Current Behavior A configured HTTPRoute pointing to an internal service can be configured with `appProtocol: kubernetes.io/ws`. However, if the service is of type `ExternalName` the same setting gets applied by Kubernetes but not read by the Apisix controller. This seems to be due to this code: https://github.com/apache/apisix-ingress-controller/blob/11635a1e1fc76366984713177a92980d605e53f8/internal/adc/translator/httproute.go#L420-L446 ### Expected Behavior I expect the appProtocol to be read from both internal end external services. ### Error Logs _No response_ ### Steps to Reproduce 1. Install Apisix with helm chart 2. configure an internal service 3. configure an external service 4. create a HTTPRoute config for the internal service 5. create a HTTPRoute config for the external service 6. specify "appProtocol: kubernetes.io/ws" in both services 7. kubectl apply both services and routes 8. observe the Kubernetes resources get created correctly 9. establish a web socket connection to the internal service and observe the connection gets established 10. establish a web socket connection to the external service and observe the connection receiving an error due to the filtering of "connection: upgrade" form the request to the backend ```yaml --- apiVersion: v1 kind: Service metadata: name: test-portal spec: selector: app: test-portal ports: - protocol: TCP port: 5000 targetPort: 5000 appProtocol: kubernetes.io/ws --- apiVersion: v1 kind: Service metadata: name: test-portal-ext spec: ports: - protocol: TCP port: 8000 appProtocol: kubernetes.io/ws type: ExternalName externalName: testportal.dev.local ``` ### Environment - APISIX Ingress controller version: 2.1.0 - Kubernetes cluster version: 1.35.0 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
