Commit 15e640c
committed
fix(operator): set appProtocol: grpc on registry gRPC Service
The registry Service was created with port name 'http' and no appProtocol.
This caused service meshes (notably Istio) to mis-classify the gRPC traffic
as HTTP/1.1, breaking connections in two places simultaneously:
- Client-side envoy: downgrades to HTTP/1.1 because it sees name='http'
- Server-side envoy: builds its inbound listener as HTTP/1.1 and rejects
incoming HTTP/2 (gRPC) frames with a protocol error
Setting appProtocol: 'grpc' on the Service port corrects both sidecars'
view of the port. In Istio's sidecar mode this allows normal mTLS to flow
end-to-end with no workarounds. The same field is respected by other
service meshes and cloud load balancers that do protocol detection.
The fix only applies to the registry gRPC Service (not REST, not online/
offline stores) via a new getServiceAppProtocol helper.1 parent 50ad181 commit 15e640c
1 file changed
Lines changed: 17 additions & 4 deletions
Lines changed: 17 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
| 35 | + | |
35 | 36 | | |
36 | 37 | | |
37 | 38 | | |
| |||
768 | 769 | | |
769 | 770 | | |
770 | 771 | | |
| 772 | + | |
| 773 | + | |
| 774 | + | |
| 775 | + | |
| 776 | + | |
| 777 | + | |
| 778 | + | |
| 779 | + | |
| 780 | + | |
| 781 | + | |
| 782 | + | |
771 | 783 | | |
772 | 784 | | |
773 | 785 | | |
| |||
829 | 841 | | |
830 | 842 | | |
831 | 843 | | |
832 | | - | |
833 | | - | |
834 | | - | |
835 | | - | |
| 844 | + | |
| 845 | + | |
| 846 | + | |
| 847 | + | |
| 848 | + | |
836 | 849 | | |
837 | 850 | | |
838 | 851 | | |
| |||
0 commit comments