55 "fmt"
66 "time"
77
8- "github.com/openshift/library-go/pkg/operator/resource/resourceapply"
98 "open-cluster-management.io/clusteradm/pkg/cmd/init/scenario"
109 "open-cluster-management.io/clusteradm/pkg/helpers"
1110 "open-cluster-management.io/clusteradm/pkg/helpers/apply"
@@ -15,7 +14,6 @@ import (
1514 apiextensionsclient "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"
1615 "k8s.io/apimachinery/pkg/api/errors"
1716 "k8s.io/apimachinery/pkg/util/wait"
18- "k8s.io/client-go/discovery"
1917 "k8s.io/client-go/kubernetes"
2018 "k8s.io/client-go/util/retry"
2119)
@@ -57,29 +55,13 @@ func (o *Options) run() error {
5755 output := make ([]string , 0 )
5856 reader := scenario .GetScenarioResourcesReader ()
5957
60- kubeClient , err := o .ClusteradmFlags .KubectlFactory .KubernetesClientSet ()
61- if err != nil {
62- return err
63- }
64- dynamicClient , err := o .ClusteradmFlags .KubectlFactory .DynamicClient ()
65- if err != nil {
66- return err
67- }
68-
69- restConfig , err := o .ClusteradmFlags .KubectlFactory .ToRESTConfig ()
70- if err != nil {
71- return err
72- }
73-
74- apiExtensionsClient , err := apiextensionsclient .NewForConfig (restConfig )
58+ kubeClient , apiExtensionsClient , dynamicClient , err := helpers .GetClients (o .ClusteradmFlags .KubectlFactory )
7559 if err != nil {
7660 return err
7761 }
7862
79- clientHolder := resourceapply .NewClientHolder ().
80- WithAPIExtensionsClient (apiExtensionsClient ).
81- WithKubernetes (kubeClient ).
82- WithDynamicClient (dynamicClient )
63+ applierBuilder := & apply.ApplierBuilder {}
64+ applier := applierBuilder .WithClient (kubeClient , apiExtensionsClient , dynamicClient ).Build ()
8365
8466 files := []string {
8567 "init/namespace.yaml" ,
@@ -105,7 +87,7 @@ func (o *Options) run() error {
10587 "init/clustermanager_sa.yaml" ,
10688 )
10789
108- out , err := apply .ApplyDirectly (clientHolder , reader , o .values , o .ClusteradmFlags .DryRun , "" , files ... )
90+ out , err := applier .ApplyDirectly (reader , o .values , o .ClusteradmFlags .DryRun , "" , files ... )
10991 if err != nil {
11092 return err
11193 }
@@ -125,7 +107,7 @@ func (o *Options) run() error {
125107 }
126108 }
127109
128- out , err = apply .ApplyDeployments (kubeClient , reader , o .values , o .ClusteradmFlags .DryRun , "" , "init/operator.yaml" )
110+ out , err = applier .ApplyDeployments (reader , o .values , o .ClusteradmFlags .DryRun , "" , "init/operator.yaml" )
129111 if err != nil {
130112 return err
131113 }
@@ -134,19 +116,23 @@ func (o *Options) run() error {
134116 if ! o .ClusteradmFlags .DryRun {
135117 b := retry .DefaultBackoff
136118 b .Duration = 200 * time .Millisecond
137- err = helpers .WaitCRDToBeReady (* apiExtensionsClient , "clustermanagers.operator.open-cluster-management.io" , b )
119+ err = helpers .WaitCRDToBeReady (apiExtensionsClient , "clustermanagers.operator.open-cluster-management.io" , b )
138120 if err != nil {
139121 return err
140122 }
141123 }
142124
143- discoveryClient := discovery .NewDiscoveryClientForConfigOrDie (restConfig )
144- out , err = apply .ApplyCustomResouces (dynamicClient , discoveryClient , reader , o .values , o .ClusteradmFlags .DryRun , "" , "init/clustermanager.cr.yaml" )
125+ out , err = applier .ApplyCustomResouces (reader , o .values , o .ClusteradmFlags .DryRun , "" , "init/clustermanager.cr.yaml" )
145126 if err != nil {
146127 return err
147128 }
148129 output = append (output , out ... )
149130
131+ restConfig , err := o .ClusteradmFlags .KubectlFactory .ToRESTConfig ()
132+ if err != nil {
133+ return nil
134+ }
135+
150136 fmt .Printf ("please log on spoke and run:\n %s join --hub-token %s --hub-apiserver %s --cluster-name <cluster_name>\n " ,
151137 helpers .GetExampleHeader (),
152138 token ,
0 commit comments