kubelatte-ce
Форк от sbertech/kubelatte-ce
65 строк · 1.5 Кб
1package base2
3import (4"context"5"gitverse.ru/ktrntrsv/kubelatte-ce/pkg/api/v1alpha1"6"gitverse.ru/ktrntrsv/kubelatte-ce/pkg/operator/controllers/clientset"7"k8s.io/client-go/kubernetes"8"time"9)
10
11type Mode int812
13const (14Creation Mode = iota15Recreation
16)
17
18type SE struct {19Configs
20SeMode int3221}
22
23type Configs struct {24Kind string25ApiVersion string26ParentTag int6427TriggerRef
28Metadata
29TemplateRefs []string30}
31
32type Metadata struct {33Namespace string34Name string35}
36
37type TriggerRef struct {38SideEffectConfig string39Name string40Namespace string41}
42
43//go:generate go run github.com/vektra/mockery/v2@v2.43.1 --name=ExecutorI
44type ExecutorI interface {45ApplySideEffect(ctx context.Context, info *SE)46ApplySideEffectCreate(ctx context.Context, info *SE) error47ApplySideEffectRecreate(ctx context.Context, info *SE) error48WaitForParentPublication(ctx context.Context, timeout time.Duration, info *SE, checkParentUpdate func(parentByte []byte, expectedTag int64) ParentStatus) ([]byte, ParentStatus, error)49PublishTI(ctx context.Context, ti *v1alpha1.TriggerInstance, info *SE) error50
51SetKubeCli(kubeCli *kubernetes.Clientset)52SetKbltCli(kbltCli clientset.V1Alpha1Interface)53}
54
55type ParentStatus int856
57var Statuses = map[ParentStatus]string{Unknown: "Unknown", NotYetUpdated: "NotYetUpdated", PublishedHashNotChanged: "PublishedHashNotChanged", PublishedHashChanged: "PublishedHashChanged", Obtained: "Obtained"}58
59const (60Unknown = iota61NotYetUpdated
62PublishedHashChanged
63PublishedHashNotChanged
64Obtained
65)
66