You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Auto: sync API from tigera/calico-private [master] (#259)
Automated sync of API files from `tigera/calico-private` `master`
branch into this repo via `make -f Makefile.local update`.
Triggered by scheduled workflow.
// Plugins references WAFPlugins in this namespace
316
+
// Plugins references WAFPlugins in this namespace. A cross-scope reference
317
+
// (kind: GlobalWAFPlugin) is rejected at admission by the CEL rule below and
318
+
// the validating webhook, because the reconciler resolves plugin scope from
319
+
// the parent policy and does not yet honor Kind. See EV-6753.
320
+
//
321
+
// Only this namespaced direction is guarded. The mirror case, a
322
+
// GlobalWAFPolicy referencing a namespaced WAFPlugin, is intentionally not
323
+
// guarded: PluginRef.Kind defaults to WAFPlugin (see above), so a symmetric
324
+
// rule would reject that default on nearly every GlobalWAFPolicy. The
325
+
// cross-scope-resolution follow-up owns the reverse guard, the Kind default,
326
+
// and an upgrade migration; see the WAF controllers README.
317
327
// +kubebuilder:validation:MaxItems=64
318
-
Plugins []PluginRef`json:"plugins,omitempty"`
328
+
// +kubebuilder:validation:XValidation:rule="self.all(p, !has(p.kind) || p.kind != 'GlobalWAFPlugin')",message="cross-scope plugin references are not yet supported: a namespaced WAFPolicy cannot reference a GlobalWAFPlugin"
329
+
Plugins []PluginRef`json:"plugins,omitempty"`// rule's !has(p.kind) is defensive: Kind is defaulted to WAFPlugin upstream, so an empty Kind never reaches CEL today.
319
330
}
320
331
321
332
// RenderedConfigMapRef identifies the ConfigMap into which the controller
0 commit comments