diff --git a/go.mod b/go.mod index 3b4da0b47..b5b23e452 100644 --- a/go.mod +++ b/go.mod @@ -9,12 +9,12 @@ require ( github.com/kelseyhightower/envconfig v1.4.0 github.com/stretchr/testify v1.11.1 go.uber.org/zap v1.28.0 - k8s.io/api v0.35.7 - k8s.io/apimachinery v0.35.7 - k8s.io/client-go v0.35.7 - knative.dev/eventing v0.50.1-0.20260824121526-ec5c1d17105c + k8s.io/api v0.35.8 + k8s.io/apimachinery v0.35.8 + k8s.io/client-go v0.35.8 + knative.dev/eventing v0.50.1-0.20260826203415-973bbbc1f791 knative.dev/hack v0.0.0-20260428014158-b2a37f1b6e7b - knative.dev/pkg v0.0.0-20260820190123-c9015f8bfdea + knative.dev/pkg v0.0.0-20260825072334-d2a153acc00c ) require ( @@ -101,8 +101,8 @@ require ( gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/apiextensions-apiserver v0.35.7 // indirect - k8s.io/code-generator v0.35.7 // indirect + k8s.io/apiextensions-apiserver v0.35.8 // indirect + k8s.io/code-generator v0.35.8 // indirect k8s.io/gengo/v2 v2.0.0-20250922181213-ec3ebc5fd46b // indirect k8s.io/klog/v2 v2.140.0 // indirect k8s.io/kube-openapi v0.0.0-20260127142750-a19766b6e2d4 // indirect diff --git a/go.sum b/go.sum index b57a4fa91..2b42766b5 100644 --- a/go.sum +++ b/go.sum @@ -334,18 +334,18 @@ gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.35.7 h1:qzjBIl6HRlZ4TXvVELrWC50d30RZu/uLJFE9efpLgxk= -k8s.io/api v0.35.7/go.mod h1:rXqZY94EWBj+9wVgdVOVS46MtnAEF09khzjCR4EOqiE= -k8s.io/apiextensions-apiserver v0.35.7 h1:0Fj7U6mSPEJKfW2GnjOF1zthG2pIpdL2mj14mUJ3E4w= -k8s.io/apiextensions-apiserver v0.35.7/go.mod h1:sh7EoBfvntnXL6GwaLMhfvlhJpGzTFHSI7AyPQ0YQ1g= -k8s.io/apimachinery v0.35.7 h1:dIMi/gFnUDiASbeBqx1wqLAB8jlNo4kysncMZceV0OM= -k8s.io/apimachinery v0.35.7/go.mod h1:1I6w9iM6v//hXKgxe1g3ybZgcOaJrcYg9sQGtndFrmc= -k8s.io/apiserver v0.35.7 h1:Z9RShd9T1nSEua/j0BQcL4JTP09jZfddR/gNr9AFSO0= -k8s.io/apiserver v0.35.7/go.mod h1:zswr0siixtL3+h07x6Ec/8CUcAcLQ4yUwT6COvKoOYQ= -k8s.io/client-go v0.35.7 h1:UWxdVZcqqCdeip50BKoIcoGryX7WfTE1oQQVolP8HJs= -k8s.io/client-go v0.35.7/go.mod h1:uksk4ZVg/i4PrgsMsludkEe7Cp6v8hJ9wvje+2Ekn+c= -k8s.io/code-generator v0.35.7 h1:3YzZjRIWhHuGGydD4UxsEMz87C9ztk9jQ2/gLbPkyVc= -k8s.io/code-generator v0.35.7/go.mod h1:+WAXCNM6AlQLuSsfowMOWGFVlVKmsWO8VULVDFYMaRs= +k8s.io/api v0.35.8 h1:hxpmPYdneQPKNh0cZyB09Hwd3vgXzdcJs5R3toDXsvU= +k8s.io/api v0.35.8/go.mod h1:I5gVNknFd4hfVVcMCixrenD7V38JUY78q3jtpGyC19c= +k8s.io/apiextensions-apiserver v0.35.8 h1:2lvyZ28M01/1uOPftaPXIbsOaCslzKHTEcdCjCI0VRE= +k8s.io/apiextensions-apiserver v0.35.8/go.mod h1:/ZbM1upeajFY5yHqGMKEzWTLb5Tx3kU2SkxTCtqB4Uw= +k8s.io/apimachinery v0.35.8 h1:piOyQQgse1sGztJVfy3B8f11YpT+KwK5KkD5Jie1EK0= +k8s.io/apimachinery v0.35.8/go.mod h1:z9Vq5oR1X38pkhh0wV531iKSeqmOVjqgHdYMjvzq2+o= +k8s.io/apiserver v0.35.8 h1:DuwdXkMrrNi6ovUaQk9EZhIgP7cDaWOvNP/CvrLJNfM= +k8s.io/apiserver v0.35.8/go.mod h1:97kTXpbFyeZwLcrK5hRYfc9ZfM3T7D4oYC0WXsJoXXM= +k8s.io/client-go v0.35.8 h1:tIW2sirCQMiGoCSvtOYqS059CDQ5n1nrDQa+PVt4nqY= +k8s.io/client-go v0.35.8/go.mod h1:fT8dATMU8FHMq4hlOudbsxihQ1LIQfDaLNDXBnIk6OQ= +k8s.io/code-generator v0.35.8 h1:8XUinCAnL4SldKfq4K287WqqS6in6mNwkcspTU/BNpk= +k8s.io/code-generator v0.35.8/go.mod h1:MDciHRXPlbdJb0t1RASFWCyg8o2dEHfKILGZ4VWjBDQ= k8s.io/gengo/v2 v2.0.0-20250922181213-ec3ebc5fd46b h1:gMplByicHV/TJBizHd9aVEsTYoJBnnUAT5MHlTkbjhQ= k8s.io/gengo/v2 v2.0.0-20250922181213-ec3ebc5fd46b/go.mod h1:CgujABENc3KuTrcsdpGmrrASjtQsWCT7R99mEV4U/fM= k8s.io/klog/v2 v2.140.0 h1:Tf+J3AH7xnUzZyVVXhTgGhEKnFqye14aadWv7bzXdzc= @@ -354,12 +354,12 @@ k8s.io/kube-openapi v0.0.0-20260127142750-a19766b6e2d4 h1:HhDfevmPS+OalTjQRKbTHp k8s.io/kube-openapi v0.0.0-20260127142750-a19766b6e2d4/go.mod h1:kdmbQkyfwUagLfXIad1y2TdrjPFWp2Q89B3qkRwf/pQ= k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 h1:AZYQSJemyQB5eRxqcPky+/7EdBj0xi3g0ZcxxJ7vbWU= k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2/go.mod h1:xDxuJ0whA3d0I4mf/C4ppKHxXynQ+fxnkmQH0vTHnuk= -knative.dev/eventing v0.50.1-0.20260824121526-ec5c1d17105c h1:GfZm9tjdDAuRMtPOrAM5340nj/VHiKEpkIuxHwPYkWI= -knative.dev/eventing v0.50.1-0.20260824121526-ec5c1d17105c/go.mod h1:se5U7KcgxQ/VaAIjvWnGjYqXDQhfKwfTgB+7cf2mY1A= +knative.dev/eventing v0.50.1-0.20260826203415-973bbbc1f791 h1:LBlXWXWxKbRV5mTFsmbrTp8itbTqyILFvBVozpM0KUQ= +knative.dev/eventing v0.50.1-0.20260826203415-973bbbc1f791/go.mod h1:se5U7KcgxQ/VaAIjvWnGjYqXDQhfKwfTgB+7cf2mY1A= knative.dev/hack v0.0.0-20260428014158-b2a37f1b6e7b h1:MvbV2F2BdI8qKrYYUhDwbUZbX0BAYRSIpXM2TOtTvs0= knative.dev/hack v0.0.0-20260428014158-b2a37f1b6e7b/go.mod h1:L5RzHgbvam0u8QFHfzCX6MKxu/a/gIGEdaRBqNiVbl0= -knative.dev/pkg v0.0.0-20260820190123-c9015f8bfdea h1:vNg/ixrFn2UMDAh727Ag26G3jZAQGskbn5VOwZvKoOM= -knative.dev/pkg v0.0.0-20260820190123-c9015f8bfdea/go.mod h1:azi5R3dOIcS9Pp8+QAZR9Yp7e/eoD7rNVFIefkZr8N8= +knative.dev/pkg v0.0.0-20260825072334-d2a153acc00c h1:x99AILfR+9/dMMSXTpD5akQkCxfqreR+Py40i4pUrmA= +knative.dev/pkg v0.0.0-20260825072334-d2a153acc00c/go.mod h1:79LFLJ+XR5kxkPWy4KBBJkdTrk00t7zynpgOpP8uKrs= sigs.k8s.io/gateway-api v1.5.0 h1:duoo14Ky/fJXpjpmyMISE2RTBGnfCg8zICfTYLTnBJA= sigs.k8s.io/gateway-api v1.5.0/go.mod h1:GvCETiaMAlLym5CovLxGjS0NysqFk3+Yuq3/rh6QL2o= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg= diff --git a/vendor/knative.dev/eventing/pkg/apis/duck/v1/delivery_types.go b/vendor/knative.dev/eventing/pkg/apis/duck/v1/delivery_types.go index d9b2b6783..f0fef5fc2 100644 --- a/vendor/knative.dev/eventing/pkg/apis/duck/v1/delivery_types.go +++ b/vendor/knative.dev/eventing/pkg/apis/duck/v1/delivery_types.go @@ -62,6 +62,22 @@ type DeliverySpec struct { // +optional BackoffDelay *string `json:"backoffDelay,omitempty"` + // BackoffMax is the maximum delay between normal delivery attempts. It caps + // the delay calculated from BackoffDelay and BackoffPolicy, but does not cap + // delays requested by a Retry-After response header. The value must be + // greater than zero. + // + // Note: This API is EXPERIMENTAL and might be changed at any time. Cluster + // operators must enable the delivery-backoff-max feature before users can set + // this field. + // + // More information on Duration format: + // - https://www.iso.org/iso-8601-date-and-time-format.html + // - https://en.wikipedia.org/wiki/ISO_8601 + // + // +optional + BackoffMax *string `json:"backoffMax,omitempty"` + // RetryAfterMax provides an optional upper bound on the duration specified in a "Retry-After" header // when calculating backoff times for retrying 429 and 503 response codes. Setting the value to // zero ("PT0S") can be used to opt-out of respecting "Retry-After" header values altogether. This @@ -131,6 +147,17 @@ func (ds *DeliverySpec) Validate(ctx context.Context) *apis.FieldError { } } + if ds.BackoffMax != nil { + if feature.FromContext(ctx).IsEnabled(feature.DeliveryBackoffMax) { + p, pe := period.Parse(*ds.BackoffMax) + if pe != nil || p.IsZero() || p.IsNegative() { + errs = errs.Also(apis.ErrInvalidValue(*ds.BackoffMax, "backoffMax")) + } + } else { + errs = errs.Also(apis.ErrDisallowedFields("backoffMax")) + } + } + if ds.Format != nil { switch *ds.Format { case DeliveryFormatBinary, DeliveryFormatJson: diff --git a/vendor/knative.dev/eventing/pkg/apis/duck/v1/zz_generated.deepcopy.go b/vendor/knative.dev/eventing/pkg/apis/duck/v1/zz_generated.deepcopy.go index 52f6b7bb6..6cd42da83 100644 --- a/vendor/knative.dev/eventing/pkg/apis/duck/v1/zz_generated.deepcopy.go +++ b/vendor/knative.dev/eventing/pkg/apis/duck/v1/zz_generated.deepcopy.go @@ -196,6 +196,11 @@ func (in *DeliverySpec) DeepCopyInto(out *DeliverySpec) { *out = new(string) **out = **in } + if in.BackoffMax != nil { + in, out := &in.BackoffMax, &out.BackoffMax + *out = new(string) + **out = **in + } if in.RetryAfterMax != nil { in, out := &in.RetryAfterMax, &out.RetryAfterMax *out = new(string) diff --git a/vendor/knative.dev/eventing/pkg/apis/feature/features.go b/vendor/knative.dev/eventing/pkg/apis/feature/features.go index a8ee4209b..6fbcd4a15 100644 --- a/vendor/knative.dev/eventing/pkg/apis/feature/features.go +++ b/vendor/knative.dev/eventing/pkg/apis/feature/features.go @@ -81,6 +81,7 @@ func newDefaults() Flags { return map[string]Flag{ KReferenceGroup: Disabled, DeliveryRetryAfter: Disabled, + DeliveryBackoffMax: Disabled, DeliveryTimeout: Enabled, KReferenceMapping: Disabled, TransportEncryption: Disabled, diff --git a/vendor/knative.dev/eventing/pkg/apis/feature/flag_names.go b/vendor/knative.dev/eventing/pkg/apis/feature/flag_names.go index ba163868c..96588fb41 100644 --- a/vendor/knative.dev/eventing/pkg/apis/feature/flag_names.go +++ b/vendor/knative.dev/eventing/pkg/apis/feature/flag_names.go @@ -19,6 +19,7 @@ package feature const ( KReferenceGroup = "kreference-group" DeliveryRetryAfter = "delivery-retryafter" + DeliveryBackoffMax = "delivery-backoff-max" DeliveryTimeout = "delivery-timeout" KReferenceMapping = "kreference-mapping" TransportEncryption = "transport-encryption" diff --git a/vendor/modules.txt b/vendor/modules.txt index a98cadc32..c6fef801c 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -569,7 +569,7 @@ gopkg.in/inf.v0 # gopkg.in/yaml.v3 v3.0.1 ## explicit gopkg.in/yaml.v3 -# k8s.io/api v0.35.7 +# k8s.io/api v0.35.8 ## explicit; go 1.25.0 k8s.io/api/admission/v1 k8s.io/api/admissionregistration/v1 @@ -630,11 +630,11 @@ k8s.io/api/storage/v1 k8s.io/api/storage/v1alpha1 k8s.io/api/storage/v1beta1 k8s.io/api/storagemigration/v1beta1 -# k8s.io/apiextensions-apiserver v0.35.7 +# k8s.io/apiextensions-apiserver v0.35.8 ## explicit; go 1.25.0 k8s.io/apiextensions-apiserver/pkg/apis/apiextensions k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1 -# k8s.io/apimachinery v0.35.7 +# k8s.io/apimachinery v0.35.8 ## explicit; go 1.25.0 k8s.io/apimachinery/pkg/api/equality k8s.io/apimachinery/pkg/api/errors @@ -695,7 +695,7 @@ k8s.io/apimachinery/pkg/version k8s.io/apimachinery/pkg/watch k8s.io/apimachinery/third_party/forked/golang/json k8s.io/apimachinery/third_party/forked/golang/reflect -# k8s.io/client-go v0.35.7 +# k8s.io/client-go v0.35.8 ## explicit; go 1.25.0 k8s.io/client-go/applyconfigurations k8s.io/client-go/applyconfigurations/admissionregistration/v1 @@ -1029,7 +1029,7 @@ k8s.io/client-go/util/keyutil k8s.io/client-go/util/retry k8s.io/client-go/util/watchlist k8s.io/client-go/util/workqueue -# k8s.io/code-generator v0.35.7 +# k8s.io/code-generator v0.35.8 ## explicit; go 1.25.0 k8s.io/code-generator k8s.io/code-generator/cmd/applyconfiguration-gen @@ -1110,7 +1110,7 @@ k8s.io/utils/net k8s.io/utils/pointer k8s.io/utils/ptr k8s.io/utils/trace -# knative.dev/eventing v0.50.1-0.20260824121526-ec5c1d17105c +# knative.dev/eventing v0.50.1-0.20260826203415-973bbbc1f791 ## explicit; go 1.25.0 knative.dev/eventing/pkg/adapter/v2 knative.dev/eventing/pkg/adapter/v2/util/crstatusevent @@ -1144,7 +1144,7 @@ knative.dev/eventing/pkg/utils # knative.dev/hack v0.0.0-20260428014158-b2a37f1b6e7b ## explicit; go 1.24 knative.dev/hack -# knative.dev/pkg v0.0.0-20260820190123-c9015f8bfdea +# knative.dev/pkg v0.0.0-20260825072334-d2a153acc00c ## explicit; go 1.25.0 knative.dev/pkg/apis knative.dev/pkg/apis/duck