mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-31 03:45:17 +00:00
remove managedResource
This commit is contained in:
parent
ac0404bd6c
commit
eb0390d0ed
6 changed files with 46 additions and 61 deletions
|
@ -304,13 +304,6 @@ spec:
|
||||||
type: string
|
type: string
|
||||||
message:
|
message:
|
||||||
type: string
|
type: string
|
||||||
managedResource:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
kind:
|
|
||||||
type: string
|
|
||||||
creationBlocked:
|
|
||||||
type: boolean
|
|
||||||
---
|
---
|
||||||
apiVersion: apiextensions.k8s.io/v1beta1
|
apiVersion: apiextensions.k8s.io/v1beta1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
|
@ -383,13 +376,6 @@ spec:
|
||||||
type: string
|
type: string
|
||||||
message:
|
message:
|
||||||
type: string
|
type: string
|
||||||
managedResource:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
kind:
|
|
||||||
type: string
|
|
||||||
creationBlocked:
|
|
||||||
type: boolean
|
|
||||||
---
|
---
|
||||||
apiVersion: apiextensions.k8s.io/v1beta1
|
apiVersion: apiextensions.k8s.io/v1beta1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
|
|
|
@ -304,13 +304,6 @@ spec:
|
||||||
type: string
|
type: string
|
||||||
message:
|
message:
|
||||||
type: string
|
type: string
|
||||||
managedResource:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
kind:
|
|
||||||
type: string
|
|
||||||
creationBlocked:
|
|
||||||
type: boolean
|
|
||||||
---
|
---
|
||||||
apiVersion: apiextensions.k8s.io/v1beta1
|
apiVersion: apiextensions.k8s.io/v1beta1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
|
@ -383,13 +376,6 @@ spec:
|
||||||
type: string
|
type: string
|
||||||
message:
|
message:
|
||||||
type: string
|
type: string
|
||||||
managedResource:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
kind:
|
|
||||||
type: string
|
|
||||||
creationBlocked:
|
|
||||||
type: boolean
|
|
||||||
---
|
---
|
||||||
apiVersion: apiextensions.k8s.io/v1beta1
|
apiVersion: apiextensions.k8s.io/v1beta1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
|
|
|
@ -278,19 +278,9 @@ type ResourceSpec struct {
|
||||||
|
|
||||||
// ViolatedRule stores the information regarding the rule
|
// ViolatedRule stores the information regarding the rule
|
||||||
type ViolatedRule struct {
|
type ViolatedRule struct {
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
Type string `json:"type"`
|
Type string `json:"type"`
|
||||||
Message string `json:"message"`
|
Message string `json:"message"`
|
||||||
ManagedResource ManagedResourceSpec `json:"managedResource,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// ManagedResourceSpec is used when the violations is created on resource owner
|
|
||||||
// to determing the kind of child resource that caused the violation
|
|
||||||
type ManagedResourceSpec struct {
|
|
||||||
Kind string `json:"kind,omitempty"`
|
|
||||||
// Is not used in processing, but will is present for backward compatablitiy
|
|
||||||
Namespace string `json:"namespace,omitempty"`
|
|
||||||
CreationBlocked bool `json:"creationBlocked,omitempty"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//PolicyViolationStatus provides information regarding policyviolation status
|
//PolicyViolationStatus provides information regarding policyviolation status
|
||||||
|
|
|
@ -319,22 +319,6 @@ func (in *Generation) DeepCopy() *Generation {
|
||||||
return out
|
return out
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
||||||
func (in *ManagedResourceSpec) DeepCopyInto(out *ManagedResourceSpec) {
|
|
||||||
*out = *in
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedResourceSpec.
|
|
||||||
func (in *ManagedResourceSpec) DeepCopy() *ManagedResourceSpec {
|
|
||||||
if in == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
out := new(ManagedResourceSpec)
|
|
||||||
in.DeepCopyInto(out)
|
|
||||||
return out
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
func (in *MatchResources) DeepCopyInto(out *MatchResources) {
|
func (in *MatchResources) DeepCopyInto(out *MatchResources) {
|
||||||
*out = *in
|
*out = *in
|
||||||
|
@ -714,7 +698,6 @@ func (in *Validation) DeepCopy() *Validation {
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
func (in *ViolatedRule) DeepCopyInto(out *ViolatedRule) {
|
func (in *ViolatedRule) DeepCopyInto(out *ViolatedRule) {
|
||||||
*out = *in
|
*out = *in
|
||||||
out.ManagedResource = in.ManagedResource
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -392,3 +392,44 @@ func TestResourceDescriptionExclude_Label_Expression_Match(t *testing.T) {
|
||||||
|
|
||||||
assert.Assert(t, !MatchesResourceDescription(*resource, rule))
|
assert.Assert(t, !MatchesResourceDescription(*resource, rule))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// func Test_validateGeneralRuleInfoVariables(t *testing.T) {
|
||||||
|
// policyRaw := []byte(`{
|
||||||
|
// "apiVersion": "kyverno.io/v1",
|
||||||
|
// "kind": "ClusterPolicy",
|
||||||
|
// "metadata": {
|
||||||
|
// "name": "test-validate-variables"
|
||||||
|
// },
|
||||||
|
// "spec": {
|
||||||
|
// "rules": [
|
||||||
|
// {
|
||||||
|
// "name": "test-match",
|
||||||
|
// "match": {
|
||||||
|
// "Subjects": [
|
||||||
|
// {
|
||||||
|
// "kind": "User",
|
||||||
|
// "name": "{{request.userInfo.username1}}}"
|
||||||
|
// }
|
||||||
|
// ]
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// ]
|
||||||
|
// }
|
||||||
|
// }`)
|
||||||
|
|
||||||
|
// userReqInfo := kyverno.RequestInfo{
|
||||||
|
// AdmissionUserInfo: authenticationv1.UserInfo{
|
||||||
|
// Username: "user1",
|
||||||
|
// },
|
||||||
|
// }
|
||||||
|
|
||||||
|
// var policy interface{}
|
||||||
|
// assert.NilError(t, json.Unmarshal(policyRaw, &policy))
|
||||||
|
|
||||||
|
// ctx := context.NewContext()
|
||||||
|
// // ctx.AddResource(resourceRaw)
|
||||||
|
// ctx.AddUserInfo(userReqInfo)
|
||||||
|
|
||||||
|
// invalidPaths := validateGeneralRuleInfoVariables(ctx, policy.Spec.Rules[0])
|
||||||
|
// assert.Assert(t, len(invalidPaths) == 1, fmt.Sprintf("got path len = %d", len(invalidPaths)))
|
||||||
|
// }
|
||||||
|
|
|
@ -2,6 +2,7 @@ package variables
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
@ -42,9 +43,7 @@ func Test_ExtractVariables(t *testing.T) {
|
||||||
vars := extractVariables(pattern)
|
vars := extractVariables(pattern)
|
||||||
result := []string{"{{request.userInfo.username}}", "request.userInfo.username", "{{request.object.metadata.name}}", "request.object.metadata.name"}
|
result := []string{"{{request.userInfo.username}}", "request.userInfo.username", "{{request.object.metadata.name}}", "request.object.metadata.name"}
|
||||||
|
|
||||||
if !reflect.DeepEqual(vars, result) {
|
assert.Assert(t, reflect.DeepEqual(vars, result), fmt.Sprintf("result does not match, var: %s", vars))
|
||||||
t.Errorf("result does not match, var: %s", vars)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func Test_ValidateVariables_NoVariable(t *testing.T) {
|
func Test_ValidateVariables_NoVariable(t *testing.T) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue