mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-29 10:55:05 +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
|
||||
message:
|
||||
type: string
|
||||
managedResource:
|
||||
type: object
|
||||
properties:
|
||||
kind:
|
||||
type: string
|
||||
creationBlocked:
|
||||
type: boolean
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
|
@ -383,13 +376,6 @@ spec:
|
|||
type: string
|
||||
message:
|
||||
type: string
|
||||
managedResource:
|
||||
type: object
|
||||
properties:
|
||||
kind:
|
||||
type: string
|
||||
creationBlocked:
|
||||
type: boolean
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
|
|
|
@ -304,13 +304,6 @@ spec:
|
|||
type: string
|
||||
message:
|
||||
type: string
|
||||
managedResource:
|
||||
type: object
|
||||
properties:
|
||||
kind:
|
||||
type: string
|
||||
creationBlocked:
|
||||
type: boolean
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
|
@ -383,13 +376,6 @@ spec:
|
|||
type: string
|
||||
message:
|
||||
type: string
|
||||
managedResource:
|
||||
type: object
|
||||
properties:
|
||||
kind:
|
||||
type: string
|
||||
creationBlocked:
|
||||
type: boolean
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
|
|
|
@ -278,19 +278,9 @@ type ResourceSpec struct {
|
|||
|
||||
// ViolatedRule stores the information regarding the rule
|
||||
type ViolatedRule struct {
|
||||
Name string `json:"name"`
|
||||
Type string `json:"type"`
|
||||
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"`
|
||||
Name string `json:"name"`
|
||||
Type string `json:"type"`
|
||||
Message string `json:"message"`
|
||||
}
|
||||
|
||||
//PolicyViolationStatus provides information regarding policyviolation status
|
||||
|
|
|
@ -319,22 +319,6 @@ func (in *Generation) DeepCopy() *Generation {
|
|||
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.
|
||||
func (in *MatchResources) DeepCopyInto(out *MatchResources) {
|
||||
*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.
|
||||
func (in *ViolatedRule) DeepCopyInto(out *ViolatedRule) {
|
||||
*out = *in
|
||||
out.ManagedResource = in.ManagedResource
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
@ -392,3 +392,44 @@ func TestResourceDescriptionExclude_Label_Expression_Match(t *testing.T) {
|
|||
|
||||
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 (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
|
@ -42,9 +43,7 @@ func Test_ExtractVariables(t *testing.T) {
|
|||
vars := extractVariables(pattern)
|
||||
result := []string{"{{request.userInfo.username}}", "request.userInfo.username", "{{request.object.metadata.name}}", "request.object.metadata.name"}
|
||||
|
||||
if !reflect.DeepEqual(vars, result) {
|
||||
t.Errorf("result does not match, var: %s", vars)
|
||||
}
|
||||
assert.Assert(t, reflect.DeepEqual(vars, result), fmt.Sprintf("result does not match, var: %s", vars))
|
||||
}
|
||||
|
||||
func Test_ValidateVariables_NoVariable(t *testing.T) {
|
||||
|
|
Loading…
Add table
Reference in a new issue