-
Notifications
You must be signed in to change notification settings - Fork 56
/
shared.go
35 lines (28 loc) · 1.36 KB
/
shared.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
35
package workloads
import (
"context"
"k8s.io/apimachinery/pkg/api/meta"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"sigs.k8s.io/controller-runtime/pkg/client"
)
//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 -generate
//counterfeiter:generate -o fake -fake-name Client sigs.k8s.io/controller-runtime/pkg/client.Client
//counterfeiter:generate -o fake -fake-name CFClient . CFClient
type CFClient interface {
Get(ctx context.Context, key client.ObjectKey, obj client.Object) error
Create(ctx context.Context, obj client.Object, opts ...client.CreateOption) error
List(ctx context.Context, list client.ObjectList, opts ...client.ListOption) error
Patch(ctx context.Context, obj client.Object, patch client.Patch, opts ...client.PatchOption) error
Update(ctx context.Context, obj client.Object, opts ...client.UpdateOption) error
Status() client.StatusWriter
}
// This is a helper function for updating local copy of status conditions
func setStatusConditionOnLocalCopy(conditions *[]metav1.Condition, conditionType string, conditionStatus metav1.ConditionStatus, reason, message string) {
meta.SetStatusCondition(conditions, metav1.Condition{
Type: conditionType,
Status: conditionStatus,
Reason: reason,
Message: message,
})
}
//counterfeiter:generate -o fake -fake-name StatusWriter sigs.k8s.io/controller-runtime/pkg/client.StatusWriter