Skip to content

Commit 6642be5

Browse files
Merge pull request #1908 from DelusionalOptimist/feat/host-policy-diff
feat: diff host policy before apply
2 parents 67cde68 + 86241f1 commit 6642be5

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

KubeArmor/core/kubeUpdate.go

+13
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"fmt"
1010
"io"
1111
"os"
12+
"reflect"
1213
"sort"
1314
"strconv"
1415
"strings"
@@ -2271,6 +2272,12 @@ func (dm *KubeArmorDaemon) ParseAndUpdateHostSecurityPolicy(event tp.K8sKubeArmo
22712272
new := true
22722273
for idx, policy := range dm.HostSecurityPolicies {
22732274
if policy.Metadata["policyName"] == secPolicy.Metadata["policyName"] {
2275+
if reflect.DeepEqual(policy, secPolicy) {
2276+
kg.Debugf("No updates to policy %s", policy.Metadata["policyName"])
2277+
dm.HostSecurityPoliciesLock.Unlock()
2278+
return pb.PolicyStatus_Applied
2279+
}
2280+
22742281
dm.HostSecurityPolicies[idx] = secPolicy
22752282
event.Type = "MODIFIED"
22762283
new = false
@@ -2283,6 +2290,12 @@ func (dm *KubeArmorDaemon) ParseAndUpdateHostSecurityPolicy(event tp.K8sKubeArmo
22832290
} else if event.Type == "MODIFIED" {
22842291
for idx, policy := range dm.HostSecurityPolicies {
22852292
if policy.Metadata["policyName"] == secPolicy.Metadata["policyName"] {
2293+
if reflect.DeepEqual(policy, secPolicy) {
2294+
kg.Debugf("No updates to policy %s", policy.Metadata["policyName"])
2295+
dm.HostSecurityPoliciesLock.Unlock()
2296+
return pb.PolicyStatus_Applied
2297+
}
2298+
22862299
dm.HostSecurityPolicies[idx] = secPolicy
22872300
break
22882301
}

0 commit comments

Comments
 (0)