@@ -70,13 +70,19 @@ type DockerAddons struct {
70
70
71
71
// +kubebuilder:validation:Optional
72
72
CSI * DockerCSI `json:"csi,omitempty"`
73
+
74
+ // +kubebuilder:validation:Optional
75
+ COSI * DockerCOSI `json:"cosi,omitempty"`
73
76
}
74
77
75
78
type NutanixAddons struct {
76
79
GenericAddons `json:",inline"`
77
80
78
81
// +kubebuilder:validation:Optional
79
82
CSI * NutanixCSI `json:"csi,omitempty"`
83
+
84
+ // +kubebuilder:validation:Optional
85
+ COSI * NutanixCOSI `json:"cosi,omitempty"`
80
86
}
81
87
82
88
type GenericAddons struct {
@@ -96,8 +102,6 @@ type GenericAddons struct {
96
102
ServiceLoadBalancer * ServiceLoadBalancer `json:"serviceLoadBalancer,omitempty"`
97
103
}
98
104
99
- // +kubebuilder:validation:Optional
100
- // +kubebuilder:validation:Enum=ClusterResourceSet;HelmAddon
101
105
type AddonStrategy string
102
106
103
107
// CNI required for providing CNI configuration.
@@ -109,13 +113,15 @@ type CNI struct {
109
113
110
114
// Addon strategy used to deploy the CNI provider to the workload cluster.
111
115
// +kubebuilder:default=HelmAddon
116
+ // +kubebuilder:validation:Enum=ClusterResourceSet;HelmAddon
112
117
Strategy * AddonStrategy `json:"strategy,omitempty"`
113
118
}
114
119
115
120
// NFD tells us to enable or disable the node feature discovery addon.
116
121
type NFD struct {
117
122
// Addon strategy used to deploy Node Feature Discovery (NFD) to the workload cluster.
118
123
// +kubebuilder:default=HelmAddon
124
+ // +kubebuilder:validation:Enum=ClusterResourceSet;HelmAddon
119
125
Strategy * AddonStrategy `json:"strategy,omitempty"`
120
126
}
121
127
@@ -124,6 +130,7 @@ type ClusterAutoscaler struct {
124
130
// Addon strategy used to deploy cluster-autoscaler to the management cluster
125
131
// targeting the workload cluster.
126
132
// +kubebuilder:default=HelmAddon
133
+ // +kubebuilder:validation:Enum=ClusterResourceSet;HelmAddon
127
134
Strategy * AddonStrategy `json:"strategy,omitempty"`
128
135
}
129
136
@@ -136,9 +143,17 @@ type GenericCSI struct {
136
143
SnapshotController * SnapshotController `json:"snapshotController,omitempty"`
137
144
}
138
145
146
+ type GenericCOSI struct {
147
+ // Addon strategy used to deploy the COSI controller to the workload cluster.
148
+ // +kubebuilder:default=HelmAddon
149
+ // +kubebuilder:validation:Enum=HelmAddon
150
+ Strategy * AddonStrategy `json:"strategy,omitempty"`
151
+ }
152
+
139
153
type SnapshotController struct {
140
154
// Addon strategy used to deploy the snapshot controller to the workload cluster.
141
155
// +kubebuilder:default=HelmAddon
156
+ // +kubebuilder:validation:Enum=ClusterResourceSet;HelmAddon
142
157
Strategy * AddonStrategy `json:"strategy,omitempty"`
143
158
}
144
159
@@ -197,6 +212,7 @@ type CSIProvider struct {
197
212
198
213
// Addon strategy used to deploy the CSI provider to the workload cluster.
199
214
// +kubebuilder:default=HelmAddon
215
+ // +kubebuilder:validation:Enum=ClusterResourceSet;HelmAddon
200
216
Strategy * AddonStrategy `json:"strategy,omitempty"`
201
217
202
218
// The reference to any secret used by the CSI Provider.
@@ -231,6 +247,14 @@ type CSICredentials struct {
231
247
SecretRef LocalObjectReference `json:"secretRef"`
232
248
}
233
249
250
+ type DockerCOSI struct {
251
+ GenericCOSI `json:",inline"`
252
+ }
253
+
254
+ type NutanixCOSI struct {
255
+ GenericCOSI `json:",inline"`
256
+ }
257
+
234
258
// CCM tells us to enable or disable the cloud provider interface.
235
259
type CCM struct {
236
260
// A reference to the Secret for credential information for the target Prism Central instance
@@ -239,6 +263,7 @@ type CCM struct {
239
263
240
264
// Addon strategy used to deploy the CCM to the workload cluster.
241
265
// +kubebuilder:default=HelmAddon
266
+ // +kubebuilder:validation:Enum=ClusterResourceSet;HelmAddon
242
267
Strategy * AddonStrategy `json:"strategy,omitempty"`
243
268
}
244
269
0 commit comments