@@ -33,13 +33,20 @@ spec:
3333 nullable : true
3434 type : string
3535 connection :
36- description : Reference to the connection Secret (same namespace as the resource).
36+ description : |-
37+ Reference to a RustFS server. Exactly one of `secretRef` / `clusterRef`
38+ must be set (validated at reconcile time).
3739 properties :
40+ clusterRef :
41+ description : Name of a cluster-scoped ClusterConnection.
42+ nullable : true
43+ type : string
3844 secretRef :
39- description : Name of the Secret holding `endpoint`, `accessKey` and `secretKey`.
45+ description : |-
46+ Name of a Secret in the resource's namespace holding `endpoint`,
47+ `accessKey` and `secretKey` (optional: `region`, `insecure`).
48+ nullable : true
4049 type : string
41- required :
42- - secretRef
4350 type : object
4451 deletionPolicy :
4552 default : Delete
@@ -123,13 +130,20 @@ spec:
123130 nullable : true
124131 type : string
125132 connection :
126- description : Reference to the connection Secret (same namespace as the resource).
133+ description : |-
134+ Reference to a RustFS server. Exactly one of `secretRef` / `clusterRef`
135+ must be set (validated at reconcile time).
127136 properties :
137+ clusterRef :
138+ description : Name of a cluster-scoped ClusterConnection.
139+ nullable : true
140+ type : string
128141 secretRef :
129- description : Name of the Secret holding `endpoint`, `accessKey` and `secretKey`.
142+ description : |-
143+ Name of a Secret in the resource's namespace holding `endpoint`,
144+ `accessKey` and `secretKey` (optional: `region`, `insecure`).
145+ nullable : true
130146 type : string
131- required :
132- - secretRef
133147 type : object
134148 deletionPolicy :
135149 default : Delete
@@ -225,13 +239,20 @@ spec:
225239 description : An IAM policy in RustFS.
226240 properties :
227241 connection :
228- description : Reference to the connection Secret (same namespace as the resource).
242+ description : |-
243+ Reference to a RustFS server. Exactly one of `secretRef` / `clusterRef`
244+ must be set (validated at reconcile time).
229245 properties :
246+ clusterRef :
247+ description : Name of a cluster-scoped ClusterConnection.
248+ nullable : true
249+ type : string
230250 secretRef :
231- description : Name of the Secret holding `endpoint`, `accessKey` and `secretKey`.
251+ description : |-
252+ Name of a Secret in the resource's namespace holding `endpoint`,
253+ `accessKey` and `secretKey` (optional: `region`, `insecure`).
254+ nullable : true
232255 type : string
233- required :
234- - secretRef
235256 type : object
236257 deletionPolicy :
237258 default : Delete
@@ -278,3 +299,69 @@ spec:
278299 storage : true
279300 subresources :
280301 status : {}
302+ ---
303+ apiVersion : apiextensions.k8s.io/v1
304+ kind : CustomResourceDefinition
305+ metadata :
306+ name : clusterconnections.rustfs.com
307+ spec :
308+ group : rustfs.com
309+ names :
310+ categories : []
311+ kind : ClusterConnection
312+ plural : clusterconnections
313+ shortNames :
314+ - rfcc
315+ singular : clusterconnection
316+ scope : Cluster
317+ versions :
318+ - additionalPrinterColumns :
319+ - jsonPath : .spec.endpoint
320+ name : Endpoint
321+ type : string
322+ name : v1alpha1
323+ schema :
324+ openAPIV3Schema :
325+ description : Auto-generated derived type for ClusterConnectionSpec via `CustomResource`
326+ properties :
327+ spec :
328+ description : |-
329+ A centrally managed connection to a RustFS server. Cluster-scoped; the
330+ referenced credentials Secret lives in the operator's own namespace, so
331+ application namespaces never see admin credentials.
332+ properties :
333+ allowedNamespaces :
334+ description : |-
335+ Namespaces whose resources may use this connection.
336+ Absent means all namespaces are allowed.
337+ items :
338+ type : string
339+ nullable : true
340+ type : array
341+ credentialsSecretRef :
342+ description : |-
343+ Name of the Secret in the operator's namespace holding `accessKey`
344+ and `secretKey`.
345+ type : string
346+ endpoint :
347+ description : RustFS endpoint URL, e.g. `http://rustfs.storage.svc:9000`.
348+ type : string
349+ insecure :
350+ default : false
351+ description : Skip TLS verification.
352+ type : boolean
353+ region :
354+ description : AWS region; defaults to `us-east-1`.
355+ nullable : true
356+ type : string
357+ required :
358+ - credentialsSecretRef
359+ - endpoint
360+ type : object
361+ required :
362+ - spec
363+ title : ClusterConnection
364+ type : object
365+ served : true
366+ storage : true
367+ subresources : {}
0 commit comments