Skip to content

Commit ac48573

Browse files
only init cluster and csr client in bootstrap phase (#1229)
Signed-off-by: Wei Liu <[email protected]> Co-authored-by: Wei Liu <[email protected]>
1 parent d8cd1ad commit ac48573

File tree

1 file changed

+26
-16
lines changed

1 file changed

+26
-16
lines changed

pkg/registration/register/grpc/spoke_driver.go

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,32 @@ func (d *GRPCDriver) BuildClients(ctx context.Context, secretOption register.Sec
8686
clusterClient, 10*time.Minute).Cluster().V1().ManagedClusters()
8787
clusterWatchStore.SetInformer(clusterInformers.Informer())
8888

89+
csrClientHolder, err := cloudeventscsr.NewAgentClientHolder(ctx,
90+
cloudeventsoptions.NewGenericClientOptions(
91+
config,
92+
cloudeventscsr.NewCSRCodec(),
93+
secretOption.ClusterName,
94+
).WithClusterName(secretOption.ClusterName),
95+
)
96+
if err != nil {
97+
return nil, err
98+
}
99+
csrControl := &ceCSRControl{csrClientHolder: csrClientHolder}
100+
if err := d.csrDriver.SetCSRControl(csrControl, secretOption.ClusterName); err != nil {
101+
return nil, err
102+
}
103+
d.control = csrControl
104+
105+
// Initialize the cluster client and CSR control in the bootstrap phase.
106+
// Other clients should not be initialized, since they require
107+
// permissions that are not allowed in the bootstrap phase.
108+
if bootstrapped {
109+
return &register.Clients{
110+
ClusterClient: clusterClient,
111+
ClusterInformer: clusterInformers,
112+
}, nil
113+
}
114+
89115
leaseWatchStore := cloudeventsstore.NewSimpleStore[*coordv1.Lease]()
90116
leaseClient, err := cloudeventslease.NewLeaseClient(
91117
ctx,
@@ -128,22 +154,6 @@ func (d *GRPCDriver) BuildClients(ctx context.Context, secretOption register.Sec
128154
Addon().V1alpha1().ManagedClusterAddOns()
129155
addonWatchStore.SetInformer(addonInformer.Informer())
130156

131-
csrClientHolder, err := cloudeventscsr.NewAgentClientHolder(ctx,
132-
cloudeventsoptions.NewGenericClientOptions(
133-
config,
134-
cloudeventscsr.NewCSRCodec(),
135-
secretOption.ClusterName,
136-
).WithClusterName(secretOption.ClusterName),
137-
)
138-
if err != nil {
139-
return nil, err
140-
}
141-
csrControl := &ceCSRControl{csrClientHolder: csrClientHolder}
142-
if err := d.csrDriver.SetCSRControl(csrControl, secretOption.ClusterName); err != nil {
143-
return nil, err
144-
}
145-
d.control = csrControl
146-
147157
clients := &register.Clients{
148158
ClusterClient: clusterClient,
149159
ClusterInformer: clusterInformers,

0 commit comments

Comments
 (0)