generated from kubernetes/kubernetes-template-project
-
Notifications
You must be signed in to change notification settings - Fork 617
Closed
Labels
good first issueDenotes an issue ready for a new contributor, according to the "help wanted" guidelines.Denotes an issue ready for a new contributor, according to the "help wanted" guidelines.help wantedDenotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.kind/featureCategorizes issue or PR as related to a new feature.Categorizes issue or PR as related to a new feature.
Milestone
Description
What would you like to be added:
https://gateway-api.sigs.k8s.io/geps/gep-957/ introduce a concept of port matching, so that a route can specify parentRef.port.
Unfortunately, an appropriate reason which could be used for Accepted condition does not exist among the predefined list of reasons:
gateway-api/apis/v1beta1/shared_types.go
Lines 189 to 223 in 2f7ab68
| const ( | |
| // This condition indicates whether the route has been accepted or rejected | |
| // by a Gateway, and why. | |
| // | |
| // Possible reasons for this condition to be true are: | |
| // | |
| // * "Accepted" | |
| // | |
| // Possible reasons for this condition to be False are: | |
| // | |
| // * "NotAllowedByListeners" | |
| // * "NoMatchingListenerHostname" | |
| // * "UnsupportedValue" | |
| // | |
| // Possible reasons for this condition to be Unknown are: | |
| // | |
| // * "Pending" | |
| // | |
| // Controllers may raise this condition with other reasons, | |
| // but should prefer to use the reasons listed above to improve | |
| // interoperability. | |
| RouteConditionAccepted RouteConditionType = "Accepted" | |
| // This reason is used with the "Accepted" condition when the Route has been | |
| // accepted by the Gateway. | |
| RouteReasonAccepted RouteConditionReason = "Accepted" | |
| // This reason is used with the "Accepted" condition when the route has not | |
| // been accepted by a Gateway because the Gateway has no Listener whose | |
| // allowedRoutes criteria permit the route | |
| RouteReasonNotAllowedByListeners RouteConditionReason = "NotAllowedByListeners" | |
| // This reason is used with the "Accepted" condition when the Gateway has no | |
| // compatible Listeners whose Hostname matches the route | |
| RouteReasonNoMatchingListenerHostname RouteConditionReason = "NoMatchingListenerHostname" |
This probably should also be mentioned in the GEP itself.
Why this is needed:
To indicate that a route couldn't be matched with a parent because a matching port wasn't found.
Proposal:
Introduce something along the lines (similar to RouteReasonNoMatchingListenerHostname):
const (
// This reason is used with the "Accepted" condition when the Gateway has no
// compatible Listeners whose Port matches the route
RouteReasonNoMatchingListenerPort RouteConditionReason = "NoMatchingListenerPort"
)shaneutt and robscott
Metadata
Metadata
Assignees
Labels
good first issueDenotes an issue ready for a new contributor, according to the "help wanted" guidelines.Denotes an issue ready for a new contributor, according to the "help wanted" guidelines.help wantedDenotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.kind/featureCategorizes issue or PR as related to a new feature.Categorizes issue or PR as related to a new feature.