Skip to content

Commit 2458a27

Browse files
authored
add celSelector in placement (#365)
Signed-off-by: Qing Hao <[email protected]>
1 parent 13c29a9 commit 2458a27

File tree

4 files changed

+60
-0
lines changed

4 files changed

+60
-0
lines changed

cluster/v1beta1/0000_02_clusters.open-cluster-management.io_placements.crd.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,16 @@ spec:
121121
description: LabelSelector to select clusters subset
122122
by label.
123123
properties:
124+
celSelector:
125+
description: CelSelector represents a selector of
126+
ManagedClusters by CEL expressions on ManagedCluster
127+
fields
128+
properties:
129+
celExpressions:
130+
items:
131+
type: string
132+
type: array
133+
type: object
124134
claimSelector:
125135
description: ClaimSelector represents a selector
126136
of ManagedClusters by clusterClaims in status
@@ -251,6 +261,15 @@ spec:
251261
3) If a ManagedCluster (not selected previously) starts to match the selector, it will either
252262
be selected or at least has a chance to be selected (when NumberOfClusters is specified);
253263
properties:
264+
celSelector:
265+
description: CelSelector represents a selector of ManagedClusters
266+
by CEL expressions on ManagedCluster fields
267+
properties:
268+
celExpressions:
269+
items:
270+
type: string
271+
type: array
272+
type: object
254273
claimSelector:
255274
description: ClaimSelector represents a selector of ManagedClusters
256275
by clusterClaims in status

cluster/v1beta1/types_placement.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,16 @@ type ClusterSelector struct {
173173
// ClaimSelector represents a selector of ManagedClusters by clusterClaims in status
174174
// +optional
175175
ClaimSelector ClusterClaimSelector `json:"claimSelector,omitempty"`
176+
177+
// CelSelector represents a selector of ManagedClusters by CEL expressions on ManagedCluster fields
178+
// +optional
179+
CelSelector ClusterCelSelector `json:"celSelector,omitempty"`
180+
}
181+
182+
// ClusterCelSelector is a list of CEL expressions. The expressions are ANDed.
183+
type ClusterCelSelector struct {
184+
// +optional
185+
CelExpressions []string `json:"celExpressions,omitempty"`
176186
}
177187

178188
// ClusterClaimSelector is a claim query over a set of ManagedClusters. An empty cluster claim

cluster/v1beta1/zz_generated.deepcopy.go

Lines changed: 22 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cluster/v1beta1/zz_generated.swagger_doc_generated.go

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)