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:
parent
56c89eb320
commit
068ec5922f
6 changed files with 39 additions and 40 deletions
|
@ -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
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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())
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Reference in a new issue