1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2025-04-08 18:15:48 +00:00

changed label prefix

This commit is contained in:
NoSkillGirl 2020-12-23 12:20:29 +05:30
parent 56c89eb320
commit 068ec5922f
6 changed files with 39 additions and 40 deletions

View file

@ -188,7 +188,7 @@ func (c *Controller) deleteGR(obj interface{}) {
return
}
if r != nil && r.GetLabels()["policy.kyverno.io/synchronize"] == "enable" {
if r != nil && r.GetLabels()["generate.kyverno.io/synchronize"] == "enable" {
if err := c.client.DeleteResource(r.GetAPIVersion(), r.GetKind(), r.GetNamespace(), r.GetName(), false); err != nil && !apierrors.IsNotFound(err) {
logger.Error(err, "failed to delete the generated resource", "resource", r.GetName())
return

View file

@ -83,7 +83,7 @@ func (c *Controller) applyGenerate(resource unstructured.Unstructured, gr kyvern
continue
}
if resp != nil && resp.GetLabels()["policy.kyverno.io/synchronize"] == "enable" {
if resp != nil && resp.GetLabels()["generate.kyverno.io/synchronize"] == "enable" {
if err := c.client.DeleteResource(resp.GetAPIVersion(), resp.GetKind(), resp.GetNamespace(), resp.GetName(), false); err != nil {
logger.Error(err, "generated resource is not deleted", "Resource", e.Name)
}
@ -144,10 +144,10 @@ func (c *Controller) applyGenerate(resource unstructured.Unstructured, gr kyvern
if !r.Success {
logger.V(4).Info("querying all generate requests")
selector := labels.SelectorFromSet(labels.Set(map[string]string{
"policyName": engineResponse.PolicyResponse.Policy,
"resourceName": engineResponse.PolicyResponse.Resource.Name,
"resourceKind": engineResponse.PolicyResponse.Resource.Kind,
"resourceNamespace": engineResponse.PolicyResponse.Resource.Namespace,
"generate.kyverno.io/policy-name": engineResponse.PolicyResponse.Policy,
"generate.kyverno.io/resource-name": engineResponse.PolicyResponse.Resource.Name,
"generate.kyverno.io/resource-kind": engineResponse.PolicyResponse.Resource.Kind,
"generate.kyverno.io/resource-namespace": engineResponse.PolicyResponse.Resource.Namespace,
}))
grList, err := c.grLister.List(selector)
if err != nil {
@ -377,13 +377,13 @@ func applyRule(log logr.Logger, client *dclient.Client, rule kyverno.Rule, resou
manageLabels(newResource, resource)
// Add Synchronize label
label := newResource.GetLabels()
label["policy.kyverno.io/policy-name"] = policy
label["policy.kyverno.io/gr-name"] = gr.Name
label["generate.kyverno.io/policy-name"] = policy
label["generate.kyverno.io/gr-name"] = gr.Name
if mode == Create {
if rule.Generation.Synchronize {
label["policy.kyverno.io/synchronize"] = "enable"
label["generate.kyverno.io/synchronize"] = "enable"
} else {
label["policy.kyverno.io/synchronize"] = "disable"
label["generate.kyverno.io/synchronize"] = "disable"
}
// Reset resource version
@ -399,9 +399,9 @@ func applyRule(log logr.Logger, client *dclient.Client, rule kyverno.Rule, resou
} else if mode == Update {
if rule.Generation.Synchronize {
label["policy.kyverno.io/synchronize"] = "enable"
label["generate.kyverno.io/synchronize"] = "enable"
} else {
label["policy.kyverno.io/synchronize"] = "disable"
label["generate.kyverno.io/synchronize"] = "disable"
}
if rule.Generation.Synchronize {

View file

@ -239,7 +239,7 @@ func (c *Controller) deleteGR(obj interface{}) {
continue
}
if r != nil && r.GetLabels()["policy.kyverno.io/synchronize"] == "enable" {
if r != nil && r.GetLabels()["generate.kyverno.io/synchronize"] == "enable" {
if err := c.client.DeleteResource(r.GetAPIVersion(), r.GetKind(), r.GetNamespace(), r.GetName(), false); err != nil && !apierrors.IsNotFound(err) {
logger.Error(err, "Generated resource is not deleted", "Resource", r.GetName())
}

View file

@ -141,10 +141,10 @@ func retryApplyResource(client *kyvernoclient.Clientset, grSpec kyverno.Generate
if action == v1beta1.Create || action == v1beta1.Update {
log.V(4).Info("querying all generate requests")
selector := labels.SelectorFromSet(labels.Set(map[string]string{
"policyName": grSpec.Policy,
"resourceName": grSpec.Resource.Name,
"resourceKind": grSpec.Resource.Kind,
"resourceNamespace": grSpec.Resource.Namespace,
"generate.kyverno.io/policy-name": grSpec.Policy,
"generate.kyverno.io/resource-name" grSpec.Resource.Name,
"generate.kyverno.io/resource-kind": grSpec.Resource.Kind,
"generate.kyverno.io/resource-namespace": grSpec.Resource.Namespace,
}))
grList, err := grLister.List(selector)
if err != nil {
@ -153,28 +153,27 @@ func retryApplyResource(client *kyvernoclient.Clientset, grSpec kyverno.Generate
}
for _, v := range grList {
if grSpec.Policy == v.Spec.Policy && grSpec.Resource.Name == v.Spec.Resource.Name && grSpec.Resource.Kind == v.Spec.Resource.Kind && grSpec.Resource.Namespace == v.Spec.Resource.Namespace {
gr.SetLabels(map[string]string{
"resources-update": "true",
})
v.Spec.Context = gr.Spec.Context
v.Spec.Policy = gr.Spec.Policy
v.Spec.Resource = gr.Spec.Resource
_, err = client.KyvernoV1().GenerateRequests(config.KyvernoNamespace).Update(context.TODO(), v, metav1.UpdateOptions{})
if err != nil {
return err
}
isExist = true
gr.SetLabels(map[string]string{
"resources-update": "true",
})
v.Spec.Context = gr.Spec.Context
v.Spec.Policy = gr.Spec.Policy
v.Spec.Resource = gr.Spec.Resource
_, err = client.KyvernoV1().GenerateRequests(config.KyvernoNamespace).Update(context.TODO(), v, metav1.UpdateOptions{})
if err != nil {
return err
}
isExist = true
}
if !isExist {
gr.SetGenerateName("gr-")
gr.SetLabels(map[string]string{
"policyName": grSpec.Policy,
"resourceName": grSpec.Resource.Name,
"resourceKind": grSpec.Resource.Kind,
"resourceNamespace": grSpec.Resource.Namespace,
"generate.kyverno.io/policy-name": grSpec.Policy,
"generate.kyverno.io/resource-name" grSpec.Resource.Name,
"generate.kyverno.io/resource-kind": grSpec.Resource.Kind,
"generate.kyverno.io/resource-namespace": grSpec.Resource.Namespace,
})
_, err = client.KyvernoV1().GenerateRequests(config.KyvernoNamespace).Create(context.TODO(), &gr, metav1.CreateOptions{})
if err != nil {

View file

@ -87,10 +87,10 @@ func (ws *WebhookServer) HandleGenerate(request *v1beta1.AdmissionRequest, polic
func (ws *WebhookServer) deleteGR(logger logr.Logger, engineResponse *response.EngineResponse) {
logger.V(4).Info("querying all generate requests")
selector := labels.SelectorFromSet(labels.Set(map[string]string{
"policyName": engineResponse.PolicyResponse.Policy,
"resourceName": engineResponse.PolicyResponse.Resource.Name,
"resourceKind": engineResponse.PolicyResponse.Resource.Kind,
"resourceNamespace": engineResponse.PolicyResponse.Resource.Namespace,
"generate.kyverno.io/policy-name": engineResponse.PolicyResponse.Policy,
"generate.kyverno.io/resource-name" engineResponse.PolicyResponse.Resource.Name,
"generate.kyverno.io/resource-kind": engineResponse.PolicyResponse.Resource.Kind,
"generate.kyverno.io/resource-namespace": engineResponse.PolicyResponse.Resource.Namespace,
}))
grList, err := ws.grLister.List(selector)

View file

@ -385,8 +385,8 @@ func (ws *WebhookServer) resourceValidation(request *v1beta1.AdmissionRequest) *
}
resLabels := resource.GetLabels()
if resLabels["app.kubernetes.io/managed-by"] == "kyverno" && resLabels["policy.kyverno.io/synchronize"] == "enable" {
grName := resLabels["policy.kyverno.io/gr-name"]
if resLabels["app.kubernetes.io/managed-by"] == "kyverno" && resLabels["generate.kyverno.io/synchronize"] == "enable" {
grName := resLabels["generate.kyverno.io/gr-name"]
gr, err := ws.grLister.Get(grName)
if err != nil {
logger.Error(err, "failed to get generate request", "name", grName)