Skip to content

Commit 6eb3950

Browse files
committed
Adding new PartiallyInvalid condition for Routes
1 parent 58dfa4d commit 6eb3950

File tree

1 file changed

+45
-3
lines changed

1 file changed

+45
-3
lines changed

apis/v1beta1/shared_types.go

Lines changed: 45 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ const (
263263
// This condition indicates whether the route has been accepted or rejected
264264
// by a Gateway, and why.
265265
//
266-
// Possible reasons for this condition to be true are:
266+
// Possible reasons for this condition to be True are:
267267
//
268268
// * "Accepted"
269269
//
@@ -314,15 +314,17 @@ const (
314314
// are incompatible filters present on a route rule (for example if
315315
// the URLRewrite and RequestRedirect are both present on an HTTPRoute).
316316
RouteReasonIncompatibleFilters RouteConditionReason = "IncompatibleFilters"
317+
)
317318

319+
const (
318320
// This condition indicates whether the controller was able to resolve all
319321
// the object references for the Route.
320322
//
321-
// Possible reasons for this condition to be true are:
323+
// Possible reasons for this condition to be True are:
322324
//
323325
// * "ResolvedRefs"
324326
//
325-
// Possible reasons for this condition to be false are:
327+
// Possible reasons for this condition to be False are:
326328
//
327329
// * "RefNotPermitted"
328330
// * "InvalidKind"
@@ -353,6 +355,46 @@ const (
353355
RouteReasonBackendNotFound RouteConditionReason = "BackendNotFound"
354356
)
355357

358+
const (
359+
// This condition indicates that the Route contains a combination of both
360+
// valid and invalid rules.
361+
//
362+
// When this happens, implementations MUST take one of the following
363+
// approaches:
364+
//
365+
// 1) Drop Rule(s): With this approach, implementations will drop the
366+
// invalid Route Rule(s) until they are fully valid again. The message
367+
// for this condition MUST start with the prefix "Dropped Rule" and
368+
// include information about which Rules have been dropped. In this
369+
// state, the "Accepted" condition MUST be set to "True" with the latest
370+
// generation of the resource.
371+
// 2) Fall Back: With this approach, implementations will fall back to the
372+
// last known good state of the entire Route. The message for this
373+
// condition MUST start with the prefix "Fall Back" and include
374+
// information about why the current Rule(s) are invalid. To represent
375+
// this, the "Accepted" condition MUST be set to "True" with the
376+
// generation of the last known good state of the resource.
377+
//
378+
// Reverting to the last known good state should only be done by
379+
// implementations that have a means of restoring that state if/when they
380+
// are restarted.
381+
//
382+
// This condition MUST NOT be set if a Route is fully valid, fully invalid,
383+
// or not accepted.
384+
//
385+
// Possible reasons for this condition to be True are:
386+
//
387+
// * "UnsupportedValue"
388+
//
389+
// Possible reasons for this condition to be False are:
390+
//
391+
// * "PartiallyInvalid"
392+
//
393+
// Controllers may raise this condition with other reasons, but should
394+
// prefer to use the reasons listed above to improve interoperability.
395+
RouteConditionPartiallyInvalid RouteConditionType = "PartiallyInvalid"
396+
)
397+
356398
// RouteParentStatus describes the status of a route with respect to an
357399
// associated Parent.
358400
type RouteParentStatus struct {

0 commit comments

Comments
 (0)