Skip to content

Commit 6accdba

Browse files
gman0ntnn
authored andcommitted
UPSTREAM: <carry>: Clusterize MutatingAdmissionPolicy admission plugin and policy plugin framework
On-behalf-of: SAP robert.vasek@sap.com Signed-off-by: Robert Vasek <robert.vasek@clyso.com>
1 parent 1239177 commit 6accdba

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

staging/src/k8s.io/apiserver/pkg/admission/plugin/policy/mutating/accessor.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ limitations under the License.
1717
package mutating
1818

1919
import (
20+
"github.com/kcp-dev/logicalcluster/v3"
2021
v1 "k8s.io/api/admissionregistration/v1"
2122
"k8s.io/api/admissionregistration/v1alpha1"
2223
"k8s.io/apimachinery/pkg/types"
@@ -47,6 +48,10 @@ func (v *mutatingAdmissionPolicyAccessor) GetName() string {
4748
return v.Name
4849
}
4950

51+
func (v *mutatingAdmissionPolicyAccessor) GetCluster() string {
52+
return logicalcluster.From(v.Policy).String()
53+
}
54+
5055
func (v *mutatingAdmissionPolicyAccessor) GetParamKind() *v1.ParamKind {
5156
pk := v.Spec.ParamKind
5257
if pk == nil {
@@ -86,6 +91,10 @@ func (v *mutatingAdmissionPolicyBindingAccessor) GetName() string {
8691
return v.Name
8792
}
8893

94+
func (v *mutatingAdmissionPolicyBindingAccessor) GetCluster() string {
95+
return logicalcluster.From(v.PolicyBinding).String()
96+
}
97+
8998
func (v *mutatingAdmissionPolicyBindingAccessor) GetPolicyName() types.NamespacedName {
9099
return types.NamespacedName{
91100
Namespace: "",

staging/src/k8s.io/apiserver/pkg/admission/plugin/policy/mutating/plugin.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121
celgo "github.com/google/cel-go/cel"
2222
"io"
2323

24+
"github.com/kcp-dev/logicalcluster/v3"
2425
"k8s.io/api/admissionregistration/v1alpha1"
2526
corev1 "k8s.io/api/core/v1"
2627
"k8s.io/apimachinery/pkg/api/meta"
@@ -94,7 +95,7 @@ func NewPlugin(_ io.Reader) *Plugin {
9495
res := &Plugin{}
9596
res.Plugin = generic.NewPlugin(
9697
handler,
97-
func(f informers.SharedInformerFactory, client kubernetes.Interface, dynamicClient dynamic.Interface, restMapper meta.RESTMapper) generic.Source[PolicyHook] {
98+
func(f informers.SharedInformerFactory, client kubernetes.Interface, dynamicClient dynamic.Interface, restMapper meta.RESTMapper, clusterName logicalcluster.Name) generic.Source[PolicyHook] {
9899
return generic.NewPolicySource(
99100
f.Admissionregistration().V1alpha1().MutatingAdmissionPolicies().Informer(),
100101
f.Admissionregistration().V1alpha1().MutatingAdmissionPolicyBindings().Informer(),
@@ -106,6 +107,7 @@ func NewPlugin(_ io.Reader) *Plugin {
106107
f,
107108
dynamicClient,
108109
restMapper,
110+
clusterName,
109111
)
110112
},
111113
func(a authorizer.Authorizer, m *matching.Matcher, client kubernetes.Interface) generic.Dispatcher[PolicyHook] {

0 commit comments

Comments
 (0)