diff --git a/go.mod b/go.mod index c840c60da8..e57aa6bfe5 100644 --- a/go.mod +++ b/go.mod @@ -21,10 +21,10 @@ require ( k8s.io/client-go v0.30.3 k8s.io/code-generator v0.30.3 knative.dev/caching v0.0.0-20240815051508-3a2a1b64338c - knative.dev/eventing v0.42.1-0.20240814151025-1123cfa0a497 + knative.dev/eventing v0.42.1-0.20240816185524-bf945f909e68 knative.dev/hack v0.0.0-20240814130635-06f7aff93954 knative.dev/pkg v0.0.0-20240815051656-89743d9bbf7c - knative.dev/serving v0.42.1-0.20240815122103-25e5f486cf27 + knative.dev/serving v0.42.1-0.20240815134700-c51ee6c37358 sigs.k8s.io/yaml v1.4.0 ) diff --git a/go.sum b/go.sum index ac2aeba638..e218a05128 100644 --- a/go.sum +++ b/go.sum @@ -1362,16 +1362,16 @@ k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 h1:pUdcCO1Lk/tbT5ztQWOBi5HBgbBP1 k8s.io/utils v0.0.0-20240711033017-18e509b52bc8/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= knative.dev/caching v0.0.0-20240815051508-3a2a1b64338c h1:P5sSufoQ9Tt0CX5ekOTVwmkJvYWlrTq9e/ZkqTLewsA= knative.dev/caching v0.0.0-20240815051508-3a2a1b64338c/go.mod h1:uMf7GneKb3AIglKbZQSARDaRdfvDw332fxQemyRZCrU= -knative.dev/eventing v0.42.1-0.20240814151025-1123cfa0a497 h1:Cwm/g7cz8U5ax3ONMxcV9tpo/HXSW6J1oFaJL+pdMow= -knative.dev/eventing v0.42.1-0.20240814151025-1123cfa0a497/go.mod h1:4ToBaBVKcH7wYrTebJ0bgIePYb9o7QVOoP5KP4s1L9w= +knative.dev/eventing v0.42.1-0.20240816185524-bf945f909e68 h1:auwsBqDedYnCPovW5jzZXiXwlI3aBMZyfHhmRj/aq8I= +knative.dev/eventing v0.42.1-0.20240816185524-bf945f909e68/go.mod h1:eTJLSCpHchscm2VV/e10w3HcGIB7dOYdGAzeBIRmJ08= knative.dev/hack v0.0.0-20240814130635-06f7aff93954 h1:dGMK5VoL75szvrYQTL9NqhPYHu1f5dGaXx1hJI8fAFM= knative.dev/hack v0.0.0-20240814130635-06f7aff93954/go.mod h1:R0ritgYtjLDO9527h5vb5X6gfvt5LCrJ55BNbVDsWiY= knative.dev/networking v0.0.0-20240808015019-d4c57cd4a1b3 h1:KfIea0RVx0QfHK0gHruJfacT2kBVb4hZE8Sgzs32KKo= knative.dev/networking v0.0.0-20240808015019-d4c57cd4a1b3/go.mod h1:QsOtfjxoHEzWvLa8y+mSts95UKUmzTvmgPxWoi7XHMQ= knative.dev/pkg v0.0.0-20240815051656-89743d9bbf7c h1:2crXVk4FG0dSG6WHaIT+WKbUzn7qG2wn0AfYmvA22zs= knative.dev/pkg v0.0.0-20240815051656-89743d9bbf7c/go.mod h1:cI2RPEEHZk+/dBpfHobs0aBdPA1mMZVUVWnGAc8NSzM= -knative.dev/serving v0.42.1-0.20240815122103-25e5f486cf27 h1:XsCCH+7hsV4xlcIq9RZeUtlEGsOQgEk2pCdHRntR4OA= -knative.dev/serving v0.42.1-0.20240815122103-25e5f486cf27/go.mod h1:44XlkEfBXudhAX6jZEbr/VRVI81/TbEUX2elSyub1fs= +knative.dev/serving v0.42.1-0.20240815134700-c51ee6c37358 h1:1g/Jl2IbCe1VWT+YV3VAyBzkAb4pUfxiHYMOZ46N2OE= +knative.dev/serving v0.42.1-0.20240815134700-c51ee6c37358/go.mod h1:44XlkEfBXudhAX6jZEbr/VRVI81/TbEUX2elSyub1fs= nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw= pgregory.net/rapid v1.1.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= diff --git a/vendor/knative.dev/eventing/pkg/apis/eventing/v1alpha1/eventpolicy_types.go b/vendor/knative.dev/eventing/pkg/apis/eventing/v1alpha1/eventpolicy_types.go index 53d6265344..e3c312aae9 100644 --- a/vendor/knative.dev/eventing/pkg/apis/eventing/v1alpha1/eventpolicy_types.go +++ b/vendor/knative.dev/eventing/pkg/apis/eventing/v1alpha1/eventpolicy_types.go @@ -20,9 +20,12 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" + "knative.dev/pkg/apis" duckv1 "knative.dev/pkg/apis/duck/v1" "knative.dev/pkg/kmeta" + + eventingv1 "knative.dev/eventing/pkg/apis/eventing/v1" ) // +genclient @@ -71,6 +74,14 @@ type EventPolicySpec struct { // From is the list of sources or oidc identities, which are allowed to send events to the targets (.spec.to). From []EventPolicySpecFrom `json:"from,omitempty"` + + // Filters is the list of SubscriptoinsApi filters which determine whether or not the event is accepted. + // It is an array of filter expressions that evaluate to true or false. + // If any filter expression in the array evaluates to false, the event will not + // pass the target resource's ingress. Absence of any filters implies that the filters + // always evaluate to true. + // +optional + Filters []eventingv1.SubscriptionsAPIFilter `json:"filters,omitempty"` } type EventPolicySpecTo struct { diff --git a/vendor/knative.dev/eventing/pkg/apis/eventing/v1alpha1/eventpolicy_validation.go b/vendor/knative.dev/eventing/pkg/apis/eventing/v1alpha1/eventpolicy_validation.go index 5f05c240df..4ae6ea3f7c 100644 --- a/vendor/knative.dev/eventing/pkg/apis/eventing/v1alpha1/eventpolicy_validation.go +++ b/vendor/knative.dev/eventing/pkg/apis/eventing/v1alpha1/eventpolicy_validation.go @@ -20,6 +20,7 @@ import ( "context" "strings" + eventingv1 "knative.dev/eventing/pkg/apis/eventing/v1" "knative.dev/eventing/pkg/apis/feature" "knative.dev/pkg/apis" ) @@ -60,6 +61,8 @@ func (ets *EventPolicySpec) Validate(ctx context.Context) *apis.FieldError { } } + err = err.Also(eventingv1.ValidateSubscriptionAPIFiltersList(ctx, ets.Filters).ViaField("filters")) + return err } diff --git a/vendor/knative.dev/eventing/pkg/apis/eventing/v1alpha1/zz_generated.deepcopy.go b/vendor/knative.dev/eventing/pkg/apis/eventing/v1alpha1/zz_generated.deepcopy.go index 998b577cad..068369c53b 100644 --- a/vendor/knative.dev/eventing/pkg/apis/eventing/v1alpha1/zz_generated.deepcopy.go +++ b/vendor/knative.dev/eventing/pkg/apis/eventing/v1alpha1/zz_generated.deepcopy.go @@ -24,6 +24,7 @@ package v1alpha1 import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" + eventingv1 "knative.dev/eventing/pkg/apis/eventing/v1" ) // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. @@ -146,6 +147,13 @@ func (in *EventPolicySpec) DeepCopyInto(out *EventPolicySpec) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Filters != nil { + in, out := &in.Filters, &out.Filters + *out = make([]eventingv1.SubscriptionsAPIFilter, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } return } diff --git a/vendor/knative.dev/eventing/pkg/reconciler/testing/v1/eventpolicy.go b/vendor/knative.dev/eventing/pkg/reconciler/testing/v1/eventpolicy.go index df0dedc970..042c842ec9 100644 --- a/vendor/knative.dev/eventing/pkg/reconciler/testing/v1/eventpolicy.go +++ b/vendor/knative.dev/eventing/pkg/reconciler/testing/v1/eventpolicy.go @@ -19,6 +19,8 @@ package testing import ( "context" + eventingv1 "knative.dev/eventing/pkg/apis/eventing/v1" + corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "knative.dev/eventing/pkg/apis/eventing/v1alpha1" @@ -146,6 +148,12 @@ func WithEventPolicyFromSub(sub string) EventPolicyOption { } } +func WithEventPolicyFilter(filter eventingv1.SubscriptionsAPIFilter) EventPolicyOption { + return func(ep *v1alpha1.EventPolicy) { + ep.Spec.Filters = append(ep.Spec.Filters, filter) + } +} + func WithEventPolicyLabels(labels map[string]string) EventPolicyOption { return func(ep *v1alpha1.EventPolicy) { ep.ObjectMeta.Labels = labels diff --git a/vendor/modules.txt b/vendor/modules.txt index fcbf28a572..670df2e44c 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1336,7 +1336,7 @@ k8s.io/utils/trace ## explicit; go 1.22.0 knative.dev/caching/pkg/apis/caching knative.dev/caching/pkg/apis/caching/v1alpha1 -# knative.dev/eventing v0.42.1-0.20240814151025-1123cfa0a497 +# knative.dev/eventing v0.42.1-0.20240816185524-bf945f909e68 ## explicit; go 1.22.0 knative.dev/eventing/pkg/apis/config knative.dev/eventing/pkg/apis/duck @@ -1546,7 +1546,7 @@ knative.dev/pkg/webhook knative.dev/pkg/webhook/certificates knative.dev/pkg/webhook/certificates/resources knative.dev/pkg/webhook/resourcesemantics/conversion -# knative.dev/serving v0.42.1-0.20240815122103-25e5f486cf27 +# knative.dev/serving v0.42.1-0.20240815134700-c51ee6c37358 ## explicit; go 1.22.0 knative.dev/serving/pkg/apis/autoscaling knative.dev/serving/pkg/apis/autoscaling/v1alpha1