mirror of
https://github.com/kyverno/kyverno.git
synced 2024-12-14 11:57:48 +00:00
seperating the code in different function
Signed-off-by: NoSkillGirl <singhpooja240393@gmail.com>
This commit is contained in:
parent
f5887b49a7
commit
973d09d0e4
1 changed files with 38 additions and 31 deletions
|
@ -32,37 +32,7 @@ func GetResources(policies []*v1.ClusterPolicy, resourcePaths []string, dClient
|
|||
|
||||
for _, policy := range policies {
|
||||
for _, rule := range policy.Spec.Rules {
|
||||
for _, kind := range rule.MatchResources.Kinds {
|
||||
if strings.Contains(kind, "/") {
|
||||
lastElement := kind[strings.LastIndex(kind, "/")+1:]
|
||||
resourceTypesMap[lastElement] = true
|
||||
}
|
||||
resourceTypesMap[kind] = true
|
||||
}
|
||||
|
||||
if rule.MatchResources.Any != nil {
|
||||
for _, resFilter := range rule.MatchResources.Any {
|
||||
for _, kind := range resFilter.ResourceDescription.Kinds {
|
||||
if strings.Contains(kind, "/") {
|
||||
lastElement := kind[strings.LastIndex(kind, "/")+1:]
|
||||
resourceTypesMap[lastElement] = true
|
||||
}
|
||||
resourceTypesMap[kind] = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if rule.MatchResources.All != nil {
|
||||
for _, resFilter := range rule.MatchResources.All {
|
||||
for _, kind := range resFilter.ResourceDescription.Kinds {
|
||||
if strings.Contains(kind, "/") {
|
||||
lastElement := kind[strings.LastIndex(kind, "/")+1:]
|
||||
resourceTypesMap[lastElement] = true
|
||||
}
|
||||
resourceTypesMap[kind] = true
|
||||
}
|
||||
}
|
||||
}
|
||||
resourceTypesMap = getKindsFromPolicy(rule)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -301,3 +271,40 @@ func convertResourceToUnstructured(resourceYaml []byte) (*unstructured.Unstructu
|
|||
}
|
||||
return resource, nil
|
||||
}
|
||||
|
||||
// getKindsFromPolicy will return the kinds from policy match block
|
||||
func getKindsFromPolicy(rule v1.Rule) map[string]bool {
|
||||
var resourceTypesMap = make(map[string]bool)
|
||||
for _, kind := range rule.MatchResources.Kinds {
|
||||
if strings.Contains(kind, "/") {
|
||||
lastElement := kind[strings.LastIndex(kind, "/")+1:]
|
||||
resourceTypesMap[lastElement] = true
|
||||
}
|
||||
resourceTypesMap[kind] = true
|
||||
}
|
||||
|
||||
if rule.MatchResources.Any != nil {
|
||||
for _, resFilter := range rule.MatchResources.Any {
|
||||
for _, kind := range resFilter.ResourceDescription.Kinds {
|
||||
if strings.Contains(kind, "/") {
|
||||
lastElement := kind[strings.LastIndex(kind, "/")+1:]
|
||||
resourceTypesMap[lastElement] = true
|
||||
}
|
||||
resourceTypesMap[kind] = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if rule.MatchResources.All != nil {
|
||||
for _, resFilter := range rule.MatchResources.All {
|
||||
for _, kind := range resFilter.ResourceDescription.Kinds {
|
||||
if strings.Contains(kind, "/") {
|
||||
lastElement := kind[strings.LastIndex(kind, "/")+1:]
|
||||
resourceTypesMap[lastElement] = true
|
||||
}
|
||||
resourceTypesMap[kind] = true
|
||||
}
|
||||
}
|
||||
}
|
||||
return resourceTypesMap
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue