Skip to content

fix(policy): include TCPRoute policy on opaque appProtocol services#13948

Merged
adleong merged 4 commits intomainfrom
alex/if-youre-appy-and-you-know-it
Apr 21, 2025
Merged

fix(policy): include TCPRoute policy on opaque appProtocol services#13948
adleong merged 4 commits intomainfrom
alex/if-youre-appy-and-you-know-it

Conversation

@adleong
Copy link
Member

@adleong adleong commented Apr 18, 2025

When a Service has a port marked with appProtocol: linkerd.io/opaque, the policy controller returns only the default opaque route and any TCPRoutes attached to that service and port are ignored.

We include any TCPRoute in the outbound policy when the appProtocol is marked as opaque.

Furthermore, we update the logic to treat any unknown value for appProtocol as opaque (when previously, an unknown value was ignored, allowing any route type to be attached). The consequence of this is TCPRoute is the only route type that can be attached to a pork with an unknown value for appProtocol.

Yet furthermore, we updated the logic to allow GRPCRoutes to be attached to ports marked with appProtocol: kubernetes.io/h2c. This means that either GRPCRoutes or HTTPRoutes may be attached to such ports and the more specific type (GRPCRoute) will take higher precedence.

adleong added 4 commits April 17, 2025 20:05
Signed-off-by: Alex Leong <alex@buoyant.io>
Signed-off-by: Alex Leong <alex@buoyant.io>
Signed-off-by: Alex Leong <alex@buoyant.io>
Signed-off-by: Alex Leong <alex@buoyant.io>
@adleong adleong requested a review from a team as a code owner April 18, 2025 00:23
@adleong adleong changed the title include TCPRoute policy on opaque appProtocol services fix(policy): include TCPRoute policy on opaque appProtocol services Apr 21, 2025
@adleong adleong merged commit 25969cf into main Apr 21, 2025
101 of 106 checks passed
@adleong adleong deleted the alex/if-youre-appy-and-you-know-it branch April 21, 2025 18:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants