mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-31 03:45:17 +00:00
744 fixing previous commit implementation
This commit is contained in:
parent
6f01bb4d59
commit
ba0de32454
1 changed files with 12 additions and 9 deletions
|
@ -52,15 +52,12 @@ func Validate(policyContext PolicyContext) (resp response.EngineResponse) {
|
|||
endResultResponse(logger, &resp, startTime)
|
||||
}()
|
||||
|
||||
// deny logic will only be applied to requests from user - system related requests are ignored.
|
||||
if admissionInfo.AdmissionUserInfo.Username == "kubernetes-admin" {
|
||||
// If request is delete, newR will be empty
|
||||
if reflect.DeepEqual(newR, unstructured.Unstructured{}) {
|
||||
return *isRequestDenied(logger, ctx, policy, oldR, admissionInfo)
|
||||
} else {
|
||||
if denyResp := isRequestDenied(logger, ctx, policy, newR, admissionInfo); !denyResp.IsSuccesful() {
|
||||
return *denyResp
|
||||
}
|
||||
// If request is delete, newR will be empty
|
||||
if reflect.DeepEqual(newR, unstructured.Unstructured{}) {
|
||||
return *isRequestDenied(logger, ctx, policy, oldR, admissionInfo)
|
||||
} else {
|
||||
if denyResp := isRequestDenied(logger, ctx, policy, newR, admissionInfo); !denyResp.IsSuccesful() {
|
||||
return *denyResp
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -99,6 +96,12 @@ func incrementAppliedCount(resp *response.EngineResponse) {
|
|||
|
||||
func isRequestDenied(log logr.Logger, ctx context.EvalInterface, policy kyverno.ClusterPolicy, resource unstructured.Unstructured, admissionInfo kyverno.RequestInfo) *response.EngineResponse {
|
||||
resp := &response.EngineResponse{}
|
||||
|
||||
// deny logic will only be applied to requests from user - system related requests are ignored.
|
||||
if admissionInfo.AdmissionUserInfo.Username != "kubernetes-admin" {
|
||||
return resp
|
||||
}
|
||||
|
||||
for _, rule := range policy.Spec.Rules {
|
||||
if !rule.HasValidate() {
|
||||
continue
|
||||
|
|
Loading…
Add table
Reference in a new issue