2022-04-13 18:15:04 +05:30
|
|
|
package common
|
2022-01-18 20:23:48 +05:30
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
2022-05-17 10:29:11 +05:30
|
|
|
"time"
|
2022-01-18 20:23:48 +05:30
|
|
|
|
2022-04-25 20:20:40 +08:00
|
|
|
urkyverno "github.com/kyverno/kyverno/api/kyverno/v1beta1"
|
2022-01-18 20:23:48 +05:30
|
|
|
kyvernoclient "github.com/kyverno/kyverno/pkg/client/clientset/versioned"
|
|
|
|
"github.com/kyverno/kyverno/pkg/config"
|
2022-04-01 07:26:47 +02:00
|
|
|
jsonutils "github.com/kyverno/kyverno/pkg/utils/json"
|
2022-01-18 20:23:48 +05:30
|
|
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
|
|
"k8s.io/apimachinery/pkg/types"
|
2022-05-17 10:29:11 +05:30
|
|
|
"k8s.io/apimachinery/pkg/util/wait"
|
2022-01-18 20:23:48 +05:30
|
|
|
)
|
|
|
|
|
2022-05-17 10:29:11 +05:30
|
|
|
var DefaultRetry = wait.Backoff{
|
|
|
|
Steps: 5,
|
|
|
|
Duration: 30 * time.Millisecond,
|
|
|
|
Factor: 1.0,
|
|
|
|
Jitter: 0.1,
|
|
|
|
}
|
|
|
|
|
2022-04-29 19:05:49 +08:00
|
|
|
// PatchUpdateRequest patches a update request object
|
|
|
|
func PatchUpdateRequest(ur *urkyverno.UpdateRequest, patch jsonutils.Patch, client kyvernoclient.Interface, subresources ...string) (*urkyverno.UpdateRequest, error) {
|
2022-04-01 07:26:47 +02:00
|
|
|
data, err := patch.ToPatchBytes()
|
2022-01-18 20:23:48 +05:30
|
|
|
if nil != err {
|
2022-04-29 19:05:49 +08:00
|
|
|
return ur, err
|
2022-01-18 20:23:48 +05:30
|
|
|
}
|
2022-04-29 19:05:49 +08:00
|
|
|
newUR, err := client.KyvernoV1beta1().UpdateRequests(config.KyvernoNamespace).Patch(context.TODO(), ur.Name, types.JSONPatchType, data, metav1.PatchOptions{}, subresources...)
|
2022-01-18 20:23:48 +05:30
|
|
|
if err != nil {
|
2022-04-29 19:05:49 +08:00
|
|
|
return ur, err
|
2022-01-18 20:23:48 +05:30
|
|
|
}
|
2022-04-29 19:05:49 +08:00
|
|
|
return newUR, nil
|
2022-01-18 20:23:48 +05:30
|
|
|
}
|