This repository has been archived by the owner on Nov 10, 2023. It is now read-only.
/
dependencies_types.go
116 lines (88 loc) · 2.92 KB
/
dependencies_types.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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
package v1alpha1
type DependencyDeletionPolicy string
const (
DeletionPolicyDelete DependencyDeletionPolicy = "Delete"
DeletionPolicyRetain DependencyDeletionPolicy = "Retain"
)
const (
StorageTypeMinIO = "MinIO"
StorageTypeS3 = "S3"
)
type MilvusDependencies struct {
// +kubebuilder:validation:Optional
Etcd MilvusEtcd `json:"etcd"`
// +kubebuilder:validation:Optional
Storage MilvusStorage `json:"storage"`
}
type MilvusClusterDependencies struct {
// +kubebuilder:validation:Optional
Etcd MilvusEtcd `json:"etcd"`
// +kubebuilder:default:="pulsar"
// +kubebuilder:validation:Enum:={"pulsar", "kafka"}
// +kubebuilder:validation:Optional
MsgStreamType string `json:"msgStreamType,omitempty"`
// +kubebuilder:validation:Optional
Pulsar MilvusPulsar `json:"pulsar,omitempty"`
// +kubebuilder:validation:Optional
Kafka MilvusKafka `json:"kafka,omitempty"`
// +kubebuilder:validation:Optional
Storage MilvusStorage `json:"storage"`
}
const (
MsgStreamTypePulsar = "pulsar"
MsgStreamTypeKafka = "kafka"
)
type MilvusEtcd struct {
// +kubebuilder:validation:Optional
Endpoints []string `json:"endpoints"`
// +kubebuilder:validation:Optional
// +kubebuilder:default:=false
External bool `json:"external,omitempty"`
// +kubebuilder:validation:Optional
InCluster *InClusterConfig `json:"inCluster,omitempty"`
}
type InClusterConfig struct {
// +kubebuilder:validation:Optional
// +kubebuilder:pruning:PreserveUnknownFields
Values Values `json:"values,omitempty"`
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Enum:={"Delete", "Retain"}
// +kubebuilder:default:="Retain"
DeletionPolicy DependencyDeletionPolicy `json:"deletionPolicy"`
// +kubebuilder:validation:Optional
PVCDeletion bool `json:"pvcDeletion,omitempty"`
}
type MilvusStorage struct {
// +kubebuilder:default:="MinIO"
// +kubebuilder:validation:Enum:={"MinIO", "S3"}
// +kubebuilder:validation:Optional
Type string `json:"type"`
// +kubebuilder:validation:Optional
SecretRef string `json:"secretRef"`
// +kubebuilder:validation:Optional
Endpoint string `json:"endpoint"`
// +kubebuilder:validation:Optional
InCluster *InClusterConfig `json:"inCluster,omitempty"`
// +kubebuilder:validation:Optional
// +kubebuilder:default:=false
External bool `json:"external,omitempty"`
}
type MilvusPulsar struct {
// +kubebuilder:validation:Optional
InCluster *InClusterConfig `json:"inCluster,omitempty"`
// +kubebuilder:validation:Optional
// +kubebuilder:default:=false
External bool `json:"external,omitempty"`
// +kubebuilder:validation:Optional
Endpoint string `json:"endpoint"`
}
// MilvusKafka configuration
type MilvusKafka struct {
// +kubebuilder:validation:Optional
InCluster *InClusterConfig `json:"inCluster,omitempty"`
// +kubebuilder:validation:Optional
// +kubebuilder:default:=false
External bool `json:"external,omitempty"`
// +kubebuilder:validation:Optional
BrokerList []string `json:"brokerList,omitempty"`
}