Skip to content

Commit

Permalink
feat(crd): optimize display of crds (#6096)
Browse files Browse the repository at this point in the history
  • Loading branch information
liubog2008 authored Feb 25, 2025
1 parent 7a12828 commit 5612abc
Show file tree
Hide file tree
Showing 15 changed files with 205 additions and 63 deletions.
18 changes: 11 additions & 7 deletions api/core/v1alpha1/pd_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,15 @@ type PDGroupList struct {
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +kubebuilder:object:root=true
// +kubebuilder:subresource:status
// +kubebuilder:resource:categories=tc
// +kubebuilder:resource:categories=tg
// +kubebuilder:resource:categories=tc;pd;group
// +kubebuilder:printcolumn:name="Cluster",type=string,JSONPath=`.spec.cluster.name`
// +kubebuilder:printcolumn:name="Available",type=string,JSONPath=`.status.conditions[?(@.type=="Available")].status`
// +kubebuilder:printcolumn:name="Desired",type=string,JSONPath=`.spec.replicas`
// +kubebuilder:printcolumn:name="Ready",type=string,JSONPath=`.status.readyReplicas`
// +kubebuilder:printcolumn:name="Updated",type=string,JSONPath=`.status.updatedReplicas`
// +kubebuilder:printcolumn:name="UpdateRevision",type=string,JSONPath=`.status.updateRevision`
// +kubebuilder:printcolumn:name="CurrentRevision",type=string,JSONPath=`.status.currentRevision`
// +kubebuilder:printcolumn:name="Synced",type=string,JSONPath=`.status.conditions[?(@.type=="Synced")].status`
// +kubebuilder:printcolumn:name="Ready",type=string,JSONPath=`.status.conditions[?(@.type=="Ready")].status`
// +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

// PDGroup defines a group of similar PD instances
Expand All @@ -84,12 +89,11 @@ type PDList struct {
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +kubebuilder:object:root=true
// +kubebuilder:subresource:status
// +kubebuilder:resource:categories=tc
// +kubebuilder:resource:categories=peer
// +kubebuilder:resource:categories=tc;pd;instance
// +kubebuilder:printcolumn:name="Cluster",type=string,JSONPath=`.spec.cluster.name`
// +kubebuilder:printcolumn:name="Leader",type=string,JSONPath=`.status.isLeader`
// +kubebuilder:printcolumn:name="Initialized",type=string,JSONPath=`.status.conditions[?(@.type=="Initialized")].status`
// +kubebuilder:printcolumn:name="Healthy",type=string,JSONPath=`.status.conditions[?(@.type=="Health")].status`
// +kubebuilder:printcolumn:name="Synced",type=string,JSONPath=`.status.conditions[?(@.type=="Synced")].status`
// +kubebuilder:printcolumn:name="Ready",type=string,JSONPath=`.status.conditions[?(@.type=="Ready")].status`
// +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

// PD defines a PD instance
Expand Down
16 changes: 10 additions & 6 deletions api/core/v1alpha1/ticdc_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,14 @@ type TiCDCGroupList struct {
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +kubebuilder:object:root=true
// +kubebuilder:subresource:status
// +kubebuilder:resource:categories=tc
// +kubebuilder:resource:categories=tg
// +kubebuilder:resource:categories=tc;cdc;group
// +kubebuilder:printcolumn:name="Cluster",type=string,JSONPath=`.spec.cluster.name`
// +kubebuilder:printcolumn:name="Available",type=string,JSONPath=`.status.conditions[?(@.type=="Available")].status`
// +kubebuilder:printcolumn:name="Desired",type=string,JSONPath=`.spec.replicas`
// +kubebuilder:printcolumn:name="Ready",type=string,JSONPath=`.status.readyReplicas`
// +kubebuilder:printcolumn:name="Updated",type=string,JSONPath=`.status.updatedReplicas`
// +kubebuilder:printcolumn:name="UpdateRevision",type=string,JSONPath=`.status.updateRevision`
// +kubebuilder:printcolumn:name="CurrentRevision",type=string,JSONPath=`.status.currentRevision`
// +kubebuilder:printcolumn:name="Ready",type=string,JSONPath=`.status.conditions[?(@.type=="Ready")].status`
// +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

// TiCDCGroup defines a group of similar TiCDC instances
Expand All @@ -71,10 +75,10 @@ type TiCDCList struct {
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +kubebuilder:object:root=true
// +kubebuilder:subresource:status
// +kubebuilder:resource:categories=tc
// +kubebuilder:resource:categories=peer
// +kubebuilder:resource:categories=tc;cdc;instance
// +kubebuilder:printcolumn:name="Cluster",type=string,JSONPath=`.spec.cluster.name`
// +kubebuilder:printcolumn:name="Healthy",type=string,JSONPath=`.status.conditions[?(@.type=="Health")].status`
// +kubebuilder:printcolumn:name="Synced",type=string,JSONPath=`.status.conditions[?(@.type=="Synced")].status`
// +kubebuilder:printcolumn:name="Ready",type=string,JSONPath=`.status.conditions[?(@.type=="Ready")].status`
// +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

// TiCDC defines a TiCDC instance
Expand Down
17 changes: 11 additions & 6 deletions api/core/v1alpha1/tidb_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,10 +60,15 @@ type TiDBGroupList struct {
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +kubebuilder:object:root=true
// +kubebuilder:subresource:status
// +kubebuilder:resource:categories=tc
// +kubebuilder:resource:categories=tg
// +kubebuilder:resource:categories=tc;db;group
// +kubebuilder:printcolumn:name="Cluster",type=string,JSONPath=`.spec.cluster.name`
// +kubebuilder:printcolumn:name="Available",type=string,JSONPath=`.status.conditions[?(@.type=="Available")].status`
// +kubebuilder:printcolumn:name="Desired",type=string,JSONPath=`.spec.replicas`
// +kubebuilder:printcolumn:name="Ready",type=string,JSONPath=`.status.readyReplicas`
// +kubebuilder:printcolumn:name="Updated",type=string,JSONPath=`.status.updatedReplicas`
// +kubebuilder:printcolumn:name="UpdateRevision",type=string,JSONPath=`.status.updateRevision`
// +kubebuilder:printcolumn:name="CurrentRevision",type=string,JSONPath=`.status.currentRevision`
// +kubebuilder:printcolumn:name="Synced",type=string,JSONPath=`.status.conditions[?(@.type=="Synced")].status`
// +kubebuilder:printcolumn:name="Ready",type=string,JSONPath=`.status.conditions[?(@.type=="Ready")].status`
// +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

// TiDBGroup defines a group of similar TiDB instances.
Expand All @@ -89,10 +94,10 @@ type TiDBList struct {
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +kubebuilder:object:root=true
// +kubebuilder:subresource:status
// +kubebuilder:resource:categories=tc
// +kubebuilder:resource:categories=tidb
// +kubebuilder:resource:categories=tc;db;instance
// +kubebuilder:printcolumn:name="Cluster",type=string,JSONPath=`.spec.cluster.name`
// +kubebuilder:printcolumn:name="Healthy",type=string,JSONPath=`.status.conditions[?(@.type=="Health")].status`
// +kubebuilder:printcolumn:name="Synced",type=string,JSONPath=`.status.conditions[?(@.type=="Synced")].status`
// +kubebuilder:printcolumn:name="Ready",type=string,JSONPath=`.status.conditions[?(@.type=="Ready")].status`
// +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

// TiDB defines a TiDB instance.
Expand Down
17 changes: 11 additions & 6 deletions api/core/v1alpha1/tiflash_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,15 @@ type TiFlashGroupList struct {
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +kubebuilder:object:root=true
// +kubebuilder:subresource:status
// +kubebuilder:resource:categories=tc
// +kubebuilder:resource:categories=tg
// +kubebuilder:resource:categories=tc;flash;group
// +kubebuilder:printcolumn:name="Cluster",type=string,JSONPath=`.spec.cluster.name`
// +kubebuilder:printcolumn:name="Available",type=string,JSONPath=`.status.conditions[?(@.type=="Available")].status`
// +kubebuilder:printcolumn:name="Desired",type=string,JSONPath=`.spec.replicas`
// +kubebuilder:printcolumn:name="Ready",type=string,JSONPath=`.status.readyReplicas`
// +kubebuilder:printcolumn:name="Updated",type=string,JSONPath=`.status.updatedReplicas`
// +kubebuilder:printcolumn:name="UpdateRevision",type=string,JSONPath=`.status.updateRevision`
// +kubebuilder:printcolumn:name="CurrentRevision",type=string,JSONPath=`.status.currentRevision`
// +kubebuilder:printcolumn:name="Synced",type=string,JSONPath=`.status.conditions[?(@.type=="Synced")].status`
// +kubebuilder:printcolumn:name="Ready",type=string,JSONPath=`.status.conditions[?(@.type=="Ready")].status`
// +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

// TiFlashGroup defines a group of similar TiFlash instances
Expand All @@ -80,12 +85,12 @@ type TiFlashList struct {
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +kubebuilder:object:root=true
// +kubebuilder:subresource:status
// +kubebuilder:resource:categories=tc
// +kubebuilder:resource:categories=tiflash
// +kubebuilder:resource:categories=tc;flash;instance
// +kubebuilder:printcolumn:name="Cluster",type=string,JSONPath=`.spec.cluster.name`
// +kubebuilder:printcolumn:name="StoreID",type=string,JSONPath=`.status.id`
// +kubebuilder:printcolumn:name="StoreState",type=string,JSONPath=`.status.state`
// +kubebuilder:printcolumn:name="Healthy",type=string,JSONPath=`.status.conditions[?(@.type=="Health")].status`
// +kubebuilder:printcolumn:name="Synced",type=string,JSONPath=`.status.conditions[?(@.type=="Synced")].status`
// +kubebuilder:printcolumn:name="Ready",type=string,JSONPath=`.status.conditions[?(@.type=="Ready")].status`
// +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

// TiFlash defines a TiFlash instance
Expand Down
17 changes: 11 additions & 6 deletions api/core/v1alpha1/tikv_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,15 @@ type TiKVGroupList struct {
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +kubebuilder:object:root=true
// +kubebuilder:subresource:status
// +kubebuilder:resource:categories=tc
// +kubebuilder:resource:categories=tg
// +kubebuilder:resource:categories=tc;kv;group
// +kubebuilder:printcolumn:name="Cluster",type=string,JSONPath=`.spec.cluster.name`
// +kubebuilder:printcolumn:name="Available",type=string,JSONPath=`.status.conditions[?(@.type=="Available")].status`
// +kubebuilder:printcolumn:name="Desired",type=string,JSONPath=`.spec.replicas`
// +kubebuilder:printcolumn:name="Ready",type=string,JSONPath=`.status.readyReplicas`
// +kubebuilder:printcolumn:name="Updated",type=string,JSONPath=`.status.updatedReplicas`
// +kubebuilder:printcolumn:name="UpdateRevision",type=string,JSONPath=`.status.updateRevision`
// +kubebuilder:printcolumn:name="CurrentRevision",type=string,JSONPath=`.status.currentRevision`
// +kubebuilder:printcolumn:name="Synced",type=string,JSONPath=`.status.conditions[?(@.type=="Synced")].status`
// +kubebuilder:printcolumn:name="Ready",type=string,JSONPath=`.status.conditions[?(@.type=="Ready")].status`
// +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

// TiKVGroup defines a group of similar TiKV instances
Expand All @@ -90,12 +95,12 @@ type TiKVList struct {
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +kubebuilder:object:root=true
// +kubebuilder:subresource:status
// +kubebuilder:resource:categories=tc
// +kubebuilder:resource:categories=tikv
// +kubebuilder:resource:categories=tc;kv;instance
// +kubebuilder:printcolumn:name="Cluster",type=string,JSONPath=`.spec.cluster.name`
// +kubebuilder:printcolumn:name="StoreID",type=string,JSONPath=`.status.id`
// +kubebuilder:printcolumn:name="StoreState",type=string,JSONPath=`.status.state`
// +kubebuilder:printcolumn:name="Healthy",type=string,JSONPath=`.status.conditions[?(@.type=="Health")].status`
// +kubebuilder:printcolumn:name="Synced",type=string,JSONPath=`.status.conditions[?(@.type=="Synced")].status`
// +kubebuilder:printcolumn:name="Ready",type=string,JSONPath=`.status.conditions[?(@.type=="Ready")].status`
// +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

// TiKV defines a TiKV instance
Expand Down
26 changes: 23 additions & 3 deletions manifests/crd/core.pingcap.com_pdgroups.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ spec:
group: core.pingcap.com
names:
categories:
- tg
- tc
- pd
- group
kind: PDGroup
listKind: PDGroupList
plural: pdgroups
Expand All @@ -20,8 +22,26 @@ spec:
- jsonPath: .spec.cluster.name
name: Cluster
type: string
- jsonPath: .status.conditions[?(@.type=="Available")].status
name: Available
- jsonPath: .spec.replicas
name: Desired
type: string
- jsonPath: .status.readyReplicas
name: Ready
type: string
- jsonPath: .status.updatedReplicas
name: Updated
type: string
- jsonPath: .status.updateRevision
name: UpdateRevision
type: string
- jsonPath: .status.currentRevision
name: CurrentRevision
type: string
- jsonPath: .status.conditions[?(@.type=="Synced")].status
name: Synced
type: string
- jsonPath: .status.conditions[?(@.type=="Ready")].status
name: Ready
type: string
- jsonPath: .metadata.creationTimestamp
name: Age
Expand Down
12 changes: 7 additions & 5 deletions manifests/crd/core.pingcap.com_pds.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ spec:
group: core.pingcap.com
names:
categories:
- peer
- tc
- pd
- instance
kind: PD
listKind: PDList
plural: pds
Expand All @@ -23,11 +25,11 @@ spec:
- jsonPath: .status.isLeader
name: Leader
type: string
- jsonPath: .status.conditions[?(@.type=="Initialized")].status
name: Initialized
- jsonPath: .status.conditions[?(@.type=="Synced")].status
name: Synced
type: string
- jsonPath: .status.conditions[?(@.type=="Health")].status
name: Healthy
- jsonPath: .status.conditions[?(@.type=="Ready")].status
name: Ready
type: string
- jsonPath: .metadata.creationTimestamp
name: Age
Expand Down
23 changes: 20 additions & 3 deletions manifests/crd/core.pingcap.com_ticdcgroups.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ spec:
group: core.pingcap.com
names:
categories:
- tg
- tc
- cdc
- group
kind: TiCDCGroup
listKind: TiCDCGroupList
plural: ticdcgroups
Expand All @@ -20,8 +22,23 @@ spec:
- jsonPath: .spec.cluster.name
name: Cluster
type: string
- jsonPath: .status.conditions[?(@.type=="Available")].status
name: Available
- jsonPath: .spec.replicas
name: Desired
type: string
- jsonPath: .status.readyReplicas
name: Ready
type: string
- jsonPath: .status.updatedReplicas
name: Updated
type: string
- jsonPath: .status.updateRevision
name: UpdateRevision
type: string
- jsonPath: .status.currentRevision
name: CurrentRevision
type: string
- jsonPath: .status.conditions[?(@.type=="Ready")].status
name: Ready
type: string
- jsonPath: .metadata.creationTimestamp
name: Age
Expand Down
11 changes: 8 additions & 3 deletions manifests/crd/core.pingcap.com_ticdcs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ spec:
group: core.pingcap.com
names:
categories:
- peer
- tc
- cdc
- instance
kind: TiCDC
listKind: TiCDCList
plural: ticdcs
Expand All @@ -20,8 +22,11 @@ spec:
- jsonPath: .spec.cluster.name
name: Cluster
type: string
- jsonPath: .status.conditions[?(@.type=="Health")].status
name: Healthy
- jsonPath: .status.conditions[?(@.type=="Synced")].status
name: Synced
type: string
- jsonPath: .status.conditions[?(@.type=="Ready")].status
name: Ready
type: string
- jsonPath: .metadata.creationTimestamp
name: Age
Expand Down
26 changes: 23 additions & 3 deletions manifests/crd/core.pingcap.com_tidbgroups.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ spec:
group: core.pingcap.com
names:
categories:
- tg
- tc
- db
- group
kind: TiDBGroup
listKind: TiDBGroupList
plural: tidbgroups
Expand All @@ -20,8 +22,26 @@ spec:
- jsonPath: .spec.cluster.name
name: Cluster
type: string
- jsonPath: .status.conditions[?(@.type=="Available")].status
name: Available
- jsonPath: .spec.replicas
name: Desired
type: string
- jsonPath: .status.readyReplicas
name: Ready
type: string
- jsonPath: .status.updatedReplicas
name: Updated
type: string
- jsonPath: .status.updateRevision
name: UpdateRevision
type: string
- jsonPath: .status.currentRevision
name: CurrentRevision
type: string
- jsonPath: .status.conditions[?(@.type=="Synced")].status
name: Synced
type: string
- jsonPath: .status.conditions[?(@.type=="Ready")].status
name: Ready
type: string
- jsonPath: .metadata.creationTimestamp
name: Age
Expand Down
11 changes: 8 additions & 3 deletions manifests/crd/core.pingcap.com_tidbs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ spec:
group: core.pingcap.com
names:
categories:
- tidb
- tc
- db
- instance
kind: TiDB
listKind: TiDBList
plural: tidbs
Expand All @@ -20,8 +22,11 @@ spec:
- jsonPath: .spec.cluster.name
name: Cluster
type: string
- jsonPath: .status.conditions[?(@.type=="Health")].status
name: Healthy
- jsonPath: .status.conditions[?(@.type=="Synced")].status
name: Synced
type: string
- jsonPath: .status.conditions[?(@.type=="Ready")].status
name: Ready
type: string
- jsonPath: .metadata.creationTimestamp
name: Age
Expand Down
11 changes: 8 additions & 3 deletions manifests/crd/core.pingcap.com_tiflashes.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ spec:
group: core.pingcap.com
names:
categories:
- tiflash
- tc
- flash
- instance
kind: TiFlash
listKind: TiFlashList
plural: tiflashes
Expand All @@ -26,8 +28,11 @@ spec:
- jsonPath: .status.state
name: StoreState
type: string
- jsonPath: .status.conditions[?(@.type=="Health")].status
name: Healthy
- jsonPath: .status.conditions[?(@.type=="Synced")].status
name: Synced
type: string
- jsonPath: .status.conditions[?(@.type=="Ready")].status
name: Ready
type: string
- jsonPath: .metadata.creationTimestamp
name: Age
Expand Down
Loading

0 comments on commit 5612abc

Please sign in to comment.