feat: remove buntdb dep

This commit is contained in:
2024-12-07 22:12:46 +03:30
parent 2c25323e62
commit c5b19d3336
21 changed files with 16068 additions and 168 deletions

51
internal/crd/patch.go Normal file
View File

@@ -0,0 +1,51 @@
package crd
import (
"context"
"encoding/json"
"fmt"
"gitea.com/logicamp/lc"
"go.uber.org/zap"
metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
)
func (crd Crd) Patch(jobUid types.UID, patchData map[string]interface{}) error {
job := GetJob(jobUid)
patchBytes, err := json.Marshal(patchData)
if err != nil {
return fmt.Errorf("error marshaling patch data: %w", err)
}
// Patch the status subresource
unstructuredJob, err := crd.client.
Namespace(job.GetNamespace()).
Patch(
context.Background(),
job.GetName(),
types.MergePatchType, // Use MergePatchType for JSON Merge Patch
patchBytes,
metaV1.PatchOptions{},
)
if err != nil {
lc.Logger.Error(
"[crd] [status] error patching custom resource status",
zap.String("namespace", job.GetNamespace()),
zap.Error(err),
)
return err
}
_, err = convertFromUnstructured(unstructuredJob)
if err != nil {
lc.Logger.Error("[crd] [status] error in structure unstructured patched", zap.Error(err))
} else {
lc.Logger.Debug("[crd] [status] patched")
}
if err != nil {
lc.Logger.Error("[crd] [status] ", zap.Error(err))
return err
}
return nil
}