/
client.go
34 lines (29 loc) · 1.02 KB
/
client.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package controller
import (
"context"
"encoding/json"
"k8s.io/apimachinery/pkg/types"
"github.com/authzed/spicedb-operator/pkg/apis/authzed/v1alpha1"
"github.com/authzed/spicedb-operator/pkg/metadata"
)
func (c *Controller) PatchStatus(ctx context.Context, patch *v1alpha1.SpiceDBCluster) error {
for _, c := range patch.Status.Conditions {
c.ObservedGeneration = patch.Generation
}
patch.ManagedFields = nil
patch.Status.ObservedGeneration = patch.Generation
data, err := json.Marshal(patch)
if err != nil {
return err
}
_, err = c.client.Resource(v1alpha1ClusterGVR).Namespace(patch.Namespace).Patch(ctx, patch.Name, types.ApplyPatchType, data, metadata.PatchForceOwned, "status")
return err
}
func (c *Controller) Patch(ctx context.Context, patch *v1alpha1.SpiceDBCluster) error {
data, err := json.Marshal(patch)
if err != nil {
return err
}
_, err = c.client.Resource(v1alpha1ClusterGVR).Namespace(patch.Namespace).Patch(ctx, patch.Name, types.ApplyPatchType, data, metadata.PatchForceOwned)
return err
}