@@ -42,13 +42,14 @@ var (
42
42
43
43
// InitOptions defines all the init workflow options.
44
44
type InitOptions struct {
45
- Name string
46
- Namespace string
47
- Kubeconfig * rest.Config
48
- KarmadaVersion string
49
- CRDTarball operatorv1alpha1.CRDTarball
50
- KarmadaDataDir string
51
- Karmada * operatorv1alpha1.Karmada
45
+ Name string
46
+ Namespace string
47
+ Kubeconfig * rest.Config
48
+ KarmadaVersion string
49
+ CRDTarball operatorv1alpha1.CRDTarball
50
+ CustomCertificateConfig operatorv1alpha1.CustomCertificate
51
+ KarmadaDataDir string
52
+ Karmada * operatorv1alpha1.Karmada
52
53
}
53
54
54
55
// Validate is used to validate the initOptions before creating initJob.
@@ -75,19 +76,20 @@ var _ tasks.InitData = &initData{}
75
76
type initData struct {
76
77
sync.Once
77
78
certs.CertStore
78
- name string
79
- namespace string
80
- karmadaVersion * utilversion.Version
81
- controlplaneConfig * rest.Config
82
- controlplaneAddress string
83
- remoteClient clientset.Interface
84
- karmadaClient clientset.Interface
85
- dnsDomain string
86
- CRDTarball operatorv1alpha1.CRDTarball
87
- karmadaDataDir string
88
- privateRegistry string
89
- featureGates map [string ]bool
90
- components * operatorv1alpha1.KarmadaComponents
79
+ name string
80
+ namespace string
81
+ karmadaVersion * utilversion.Version
82
+ controlplaneConfig * rest.Config
83
+ controlplaneAddress string
84
+ remoteClient clientset.Interface
85
+ karmadaClient clientset.Interface
86
+ dnsDomain string
87
+ CRDTarball operatorv1alpha1.CRDTarball
88
+ CustomCertificateConfig operatorv1alpha1.CustomCertificate
89
+ karmadaDataDir string
90
+ privateRegistry string
91
+ featureGates map [string ]bool
92
+ components * operatorv1alpha1.KarmadaComponents
91
93
}
92
94
93
95
// NewInitJob initializes a job with list of init sub-task. and build
@@ -165,18 +167,19 @@ func newRunData(opt *InitOptions) (*initData, error) {
165
167
}
166
168
167
169
return & initData {
168
- name : opt .Name ,
169
- namespace : opt .Namespace ,
170
- karmadaVersion : version ,
171
- controlplaneAddress : address ,
172
- remoteClient : remoteClient ,
173
- CRDTarball : opt .CRDTarball ,
174
- karmadaDataDir : opt .KarmadaDataDir ,
175
- privateRegistry : privateRegistry ,
176
- components : opt .Karmada .Spec .Components ,
177
- featureGates : opt .Karmada .Spec .FeatureGates ,
178
- dnsDomain : * opt .Karmada .Spec .HostCluster .Networking .DNSDomain ,
179
- CertStore : certs .NewCertStore (),
170
+ name : opt .Name ,
171
+ namespace : opt .Namespace ,
172
+ karmadaVersion : version ,
173
+ controlplaneAddress : address ,
174
+ remoteClient : remoteClient ,
175
+ CRDTarball : opt .CRDTarball ,
176
+ CustomCertificateConfig : opt .CustomCertificateConfig ,
177
+ karmadaDataDir : opt .KarmadaDataDir ,
178
+ privateRegistry : privateRegistry ,
179
+ components : opt .Karmada .Spec .Components ,
180
+ featureGates : opt .Karmada .Spec .FeatureGates ,
181
+ dnsDomain : * opt .Karmada .Spec .HostCluster .Networking .DNSDomain ,
182
+ CertStore : certs .NewCertStore (),
180
183
}, nil
181
184
}
182
185
@@ -226,6 +229,10 @@ func (data *initData) CrdTarball() operatorv1alpha1.CRDTarball {
226
229
return data .CRDTarball
227
230
}
228
231
232
+ func (data * initData ) CustomCertificate () operatorv1alpha1.CustomCertificate {
233
+ return data .CustomCertificateConfig
234
+ }
235
+
229
236
func (data * initData ) KarmadaVersion () string {
230
237
return data .karmadaVersion .String ()
231
238
}
@@ -278,6 +285,9 @@ func NewInitOptWithKarmada(karmada *operatorv1alpha1.Karmada) InitOpt {
278
285
if karmada .Spec .CRDTarball != nil {
279
286
o .CRDTarball = * karmada .Spec .CRDTarball
280
287
}
288
+ if karmada .Spec .CustomCertificate != nil {
289
+ o .CustomCertificateConfig = * karmada .Spec .CustomCertificate
290
+ }
281
291
}
282
292
}
283
293
0 commit comments