1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2025-03-29 10:55:05 +00:00

allow cross platform builds

This commit is contained in:
Jim Bugwadia 2020-05-17 09:51:46 -07:00
parent bc37d27de6
commit bf1aaba99b
3 changed files with 29 additions and 14 deletions

View file

@ -53,6 +53,10 @@ docker-push-initContainer:
.PHONY: docker-build-kyverno docker-tag-repo-kyverno docker-push-kyverno
KYVERNO_PATH := cmd/kyverno
KYVERNO_IMAGE := kyverno
local:
go build -ldflags=$(LD_FLAGS) $(PWD)/$(KYVERNO_PATH)/
kyverno:
GOOS=$(GOOS) go build -o $(PWD)/$(KYVERNO_PATH)/kyverno -ldflags=$(LD_FLAGS) $(PWD)/$(KYVERNO_PATH)/main.go

View file

@ -206,6 +206,7 @@ func (pc *PolicyController) updatePolicy(old, cur interface{}) {
return
}
}
logger.V(4).Info("updating policy", "name", oldP.Name)
pc.enqueuePolicy(curP)
}
@ -225,11 +226,13 @@ func (pc *PolicyController) deletePolicy(obj interface{}) {
return
}
}
logger.V(4).Info("deleting policy", "name", p.Name)
// Unregister from policy meta-store
if err := pc.pMetaStore.UnRegister(*p); err != nil {
logger.Error(err, "failed to unregister policy", "name", p.Name)
}
// we process policies that are not set of background processing as we need to perform policy violation
// cleanup when a policy is deleted.
pc.enqueuePolicy(p)
@ -263,6 +266,7 @@ func (pc *PolicyController) Run(workers int, stopCh <-chan struct{}) {
for i := 0; i < workers; i++ {
go wait.Until(pc.worker, time.Second, stopCh)
}
<-stopCh
}
@ -315,49 +319,54 @@ func (pc *PolicyController) syncPolicy(key string) error {
defer func() {
logger.V(4).Info("finished syncing policy", "key", key, "processingTime", time.Since(startTime))
}()
policy, err := pc.pLister.Get(key)
if errors.IsNotFound(err) {
logger.V(2).Info("policy deleted", "key", key)
// delete cluster policy violation
if err := pc.deleteClusterPolicyViolations(key); err != nil {
return err
}
// delete namespaced policy violation
if err := pc.deleteNamespacedPolicyViolations(key); err != nil {
return err
}
go pc.deletePolicyViolations(key)
// remove webhook configurations if there are no policies
if err := pc.removeResourceWebhookConfiguration(); err != nil {
// do not fail, if unable to delete resource webhook config
logger.Error(err, "failed to remove resource webhook configurations")
}
return nil
}
if err != nil {
return err
}
pc.resourceWebhookWatcher.RegisterResourceWebhook()
// process policies on existing resources
engineResponses := pc.processExistingResources(*policy)
// report errors
pc.cleanupAndReport(engineResponses)
return nil
}
func (pc *PolicyController) deletePolicyViolations(key string) {
if err := pc.deleteClusterPolicyViolations(key); err != nil {
pc.log.Error(err, "failed to delete policy violation", "key", key)
}
if err := pc.deleteNamespacedPolicyViolations(key); err != nil {
pc.log.Error(err, "failed to delete policy violation", "key", key)
}
}
func (pc *PolicyController) deleteClusterPolicyViolations(policy string) error {
cpvList, err := pc.getClusterPolicyViolationForPolicy(policy)
if err != nil {
return err
}
for _, cpv := range cpvList {
if err := pc.pvControl.DeleteClusterPolicyViolation(cpv.Name); err != nil {
return err
pc.log.Error(err, "failed to delete policy violation", "name", cpv.Name)
}
}
return nil
}
@ -366,11 +375,13 @@ func (pc *PolicyController) deleteNamespacedPolicyViolations(policy string) erro
if err != nil {
return err
}
for _, nspv := range nspvList {
if err := pc.pvControl.DeleteNamespacedPolicyViolation(nspv.Namespace, nspv.Name); err != nil {
return err
pc.log.Error(err, "failed to delete policy violation", "name", nspv.Name)
}
}
return nil
}

View file

@ -121,7 +121,7 @@ func (rww *ResourceWebhookRegister) RemoveResourceWebhookConfiguration() error {
if err != nil {
return err
}
logger.V(3).Info("emoved mutating resource webhook configuration")
logger.V(3).Info("removed mutating resource webhook configuration")
}
if rww.RunValidationInMutatingWebhook != "true" {