mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-06 16:06:56 +00:00
* feat: add helm configuration for reporting in different rules (forgot signoff) Signed-off-by: Vishal Choudhary <vishal.choudhary@nirmata.com> * fix: linter and tests Signed-off-by: Vishal Choudhary <vishal.choudhary@nirmata.com> * feat: rename reporting.imageVerification Signed-off-by: Vishal Choudhary <vishal.choudhary@nirmata.com> --------- Signed-off-by: Vishal Choudhary <vishal.choudhary@nirmata.com> Signed-off-by: ShutingZhao <shuting@nirmata.com> Co-authored-by: shuting <shuting@nirmata.com>
33 lines
1.1 KiB
Go
33 lines
1.1 KiB
Go
package validation
|
|
|
|
import (
|
|
admissionutils "github.com/kyverno/kyverno/pkg/utils/admission"
|
|
reportutils "github.com/kyverno/kyverno/pkg/utils/report"
|
|
"github.com/kyverno/kyverno/pkg/webhooks/handlers"
|
|
admissionv1 "k8s.io/api/admission/v1"
|
|
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
|
)
|
|
|
|
func needsReports(request handlers.AdmissionRequest, resource unstructured.Unstructured, admissionReport bool, reportConfig reportutils.ReportingConfiguration) bool {
|
|
createReport := admissionReport
|
|
if admissionutils.IsDryRun(request.AdmissionRequest) {
|
|
createReport = false
|
|
}
|
|
if !reportConfig.ValidateReportsEnabled() {
|
|
createReport = false
|
|
}
|
|
// we don't need reports for deletions
|
|
if request.Operation == admissionv1.Delete {
|
|
createReport = false
|
|
}
|
|
// check if the resource supports reporting
|
|
if !reportutils.IsGvkSupported(schema.GroupVersionKind(request.Kind)) {
|
|
createReport = false
|
|
}
|
|
// if the underlying resource has no UID don't create a report
|
|
if resource.GetUID() == "" {
|
|
createReport = false
|
|
}
|
|
return createReport
|
|
}
|