kubelatte-ce

Форк
2
Форк от sbertech/kubelatte-ce
65 строк · 1.5 Кб
1
package base
2

3
import (
4
	"context"
5
	"gitverse.ru/synapse/kubelatte/pkg/api/v1alpha1"
6
	"gitverse.ru/synapse/kubelatte/pkg/operator/controllers/clientset"
7
	"k8s.io/client-go/kubernetes"
8
	"time"
9
)
10

11
type Mode int8
12

13
const (
14
	Creation Mode = iota
15
	Recreation
16
)
17

18
type SE struct {
19
	Configs
20
	SeMode int32
21
}
22

23
type Configs struct {
24
	Kind       string
25
	ApiVersion string
26
	ParentTag  int64
27
	TriggerRef
28
	Metadata
29
	TemplateRefs []string
30
}
31

32
type Metadata struct {
33
	Namespace string
34
	Name      string
35
}
36

37
type TriggerRef struct {
38
	SideEffectConfig string
39
	Name             string
40
	Namespace        string
41
}
42

43
//go:generate go run github.com/vektra/mockery/v2@v2.43.1 --name=ExecutorI
44
type ExecutorI interface {
45
	ApplySideEffect(ctx context.Context, info *SE)
46
	ApplySideEffectCreate(ctx context.Context, info *SE) error
47
	ApplySideEffectRecreate(ctx context.Context, info *SE) error
48
	WaitForParentPublication(ctx context.Context, timeout time.Duration, info *SE, checkParentUpdate func(parentByte []byte, expectedTag int64) ParentStatus) ([]byte, ParentStatus, error)
49
	PublishTI(ctx context.Context, ti *v1alpha1.TriggerInstance, info *SE) error
50

51
	SetKubeCli(kubeCli *kubernetes.Clientset)
52
	SetKbltCli(kbltCli clientset.V1Alpha1Interface)
53
}
54

55
type ParentStatus int8
56

57
var Statuses = map[ParentStatus]string{Unknown: "Unknown", NotYetUpdated: "NotYetUpdated", PublishedHashNotChanged: "PublishedHashNotChanged", PublishedHashChanged: "PublishedHashChanged", Obtained: "Obtained"}
58

59
const (
60
	Unknown = iota
61
	NotYetUpdated
62
	PublishedHashChanged
63
	PublishedHashNotChanged
64
	Obtained
65
)
66

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.