@@ -42,13 +42,14 @@ var (
4242
4343// InitOptions defines all the init workflow options.
4444type 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
5253}
5354
5455// Validate is used to validate the initOptions before creating initJob.
@@ -75,19 +76,20 @@ var _ tasks.InitData = &initData{}
7576type initData struct {
7677 sync.Once
7778 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
9193}
9294
9395// NewInitJob initializes a job with list of init sub-task. and build
@@ -165,18 +167,19 @@ func newRunData(opt *InitOptions) (*initData, error) {
165167 }
166168
167169 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 (),
180183 }, nil
181184}
182185
@@ -226,6 +229,10 @@ func (data *initData) CrdTarball() operatorv1alpha1.CRDTarball {
226229 return data .CRDTarball
227230}
228231
232+ func (data * initData ) CustomCertificate () operatorv1alpha1.CustomCertificate {
233+ return data .CustomCertificateConfig
234+ }
235+
229236func (data * initData ) KarmadaVersion () string {
230237 return data .karmadaVersion .String ()
231238}
@@ -278,6 +285,9 @@ func NewInitOptWithKarmada(karmada *operatorv1alpha1.Karmada) InitOpt {
278285 if karmada .Spec .CRDTarball != nil {
279286 o .CRDTarball = * karmada .Spec .CRDTarball
280287 }
288+ if karmada .Spec .CustomCertificate != nil {
289+ o .CustomCertificateConfig = * karmada .Spec .CustomCertificate
290+ }
281291 }
282292}
283293
0 commit comments