@@ -181,6 +181,112 @@ spec:
181181 deployed klusterlet agent. It will be ignored when the PriorityClass/v1 API
182182 is not available on the managed cluster.
183183 type : string
184+ proxyConfig :
185+ description : |-
186+ ProxyConfig holds the configuration for enabling klusterlet-proxy functionality,
187+ which allows the hub cluster to access the managed cluster's API server through
188+ a gRPC-based proxy tunnel established by the klusterlet agent.
189+
190+ When configured, the klusterlet agent establishes a gRPC connection to the hub's
191+ proxy server and proxies incoming HTTP requests to the local managed cluster API server.
192+ This enables hub-to-spoke API access even when the managed cluster is not directly
193+ accessible from the hub (e.g., behind a firewall or NAT).
194+
195+ This feature requires the ClusterProxy feature gate to be enabled and corresponding
196+ GRPCConfiguration to be set in the ClusterManager on the hub side.
197+ properties :
198+ authentications :
199+ default :
200+ - userToken
201+ description : |-
202+ Authentications defines how the agent authenticates with the cluster.
203+ If not specified, defaults to ["userToken"].
204+ items :
205+ enum :
206+ - userToken
207+ - impersonation
208+ type : string
209+ type : array
210+ grpcEndpoint :
211+ description : GRPCEndpoint represents the gRPC endpoint configuration
212+ for the proxy connection.
213+ properties :
214+ grpc :
215+ description : grpc represents the configuration for grpc endpoint.
216+ properties :
217+ hostname :
218+ description : hostname points to a fixed hostname for serving
219+ agents' handshakes.
220+ properties :
221+ caBundle :
222+ description : caBundle of the endpoint.
223+ format : byte
224+ type : string
225+ host :
226+ description : host is the host name of the endpoint.
227+ type : string
228+ required :
229+ - host
230+ type : object
231+ type :
232+ default : hostname
233+ description : |-
234+ type specifies how the endpoint is exposed.
235+ You may need to apply an object to expose the endpoint, for example: a route.
236+ enum :
237+ - hostname
238+ type : string
239+ required :
240+ - type
241+ type : object
242+ https :
243+ description : https represents the configuration for https
244+ endpoint.
245+ properties :
246+ hostname :
247+ description : hostname points to a fixed hostname for serving
248+ agents' handshakes.
249+ properties :
250+ caBundle :
251+ description : caBundle of the endpoint.
252+ format : byte
253+ type : string
254+ host :
255+ description : host is the host name of the endpoint.
256+ type : string
257+ required :
258+ - host
259+ type : object
260+ type :
261+ default : hostname
262+ description : |-
263+ type specifies how the endpoint is exposed.
264+ You may need to apply an object to expose the endpoint, for example: a route.
265+ enum :
266+ - hostname
267+ type : string
268+ required :
269+ - type
270+ type : object
271+ protocol :
272+ default : grpc
273+ description : protocol is the protocol used for the endpoint,
274+ could be https or grpc.
275+ enum :
276+ - grpc
277+ - https
278+ type : string
279+ usage :
280+ description : |-
281+ usage defines the usage of the endpoint. It could be "agentToHub" indicating the endpoint is used
282+ for communication between agent and hub, or "consumer" indicating the endpoint is used for external consumer.
283+ type : string
284+ required :
285+ - protocol
286+ type : object
287+ required :
288+ - grpcEndpoint
289+ type : object
184290 registrationConfiguration :
185291 description : RegistrationConfiguration contains the configuration
186292 of registration
0 commit comments