Skip to content

Commit

Permalink
feat: Added label filters for node & capacity subcommands (#31)
Browse files Browse the repository at this point in the history
  • Loading branch information
Kavinraja-G authored Feb 18, 2024
1 parent d65754e commit cbcbef3
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 3 deletions.
5 changes: 3 additions & 2 deletions pkg/cmd/nodes/capacity.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,9 @@ func NewCmdNodeCapacityInfo() *cobra.Command {
// showNodeCapacities driver function for 'node capacity' command
func showNodeCapacities(cmd *cobra.Command, args []string) error {
var nodeCapacityInfo []pkg.NodeCapacities

nodes, err := utils.Cfg.Clientset.CoreV1().Nodes().List(context.TODO(), metav1.ListOptions{})
labels, _ = cmd.Flags().GetString("labels")

nodes, err := utils.Cfg.Clientset.CoreV1().Nodes().List(context.TODO(), metav1.ListOptions{LabelSelector: labels})
if err != nil {
return err
}
Expand Down
4 changes: 3 additions & 1 deletion pkg/cmd/nodes/nodes.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ var (
showNodeProviderInfo bool
showNodeTopologyInfo bool
sortByHeader string
labels string
)

// NewCmdNodeInfo initializes the 'node' command
Expand All @@ -39,6 +40,7 @@ func NewCmdNodeInfo() *cobra.Command {
cmd.Flags().BoolVarP(&showNodeProviderInfo, "show-providers", "p", false, "Shows cloud provider name for a node")
cmd.Flags().BoolVarP(&showNodeTopologyInfo, "show-topology", "T", false, "Shows node topology info like region & zones for a node")
cmd.PersistentFlags().StringVarP(&sortByHeader, "sort-by", "", "name", "Sorts output using a valid Column name. Defaults to 'name' if the column name is not valid")
cmd.PersistentFlags().StringVarP(&labels, "labels", "l", "", "Filter based on node labels")

// additional sub-commands
cmd.AddCommand(NewCmdNodeCapacityInfo())
Expand All @@ -56,7 +58,7 @@ func showNodeInfo(cmd *cobra.Command, args []string) error {
ShowNodeTopologyInfo: showNodeTopologyInfo,
}

nodes, err := utils.Cfg.Clientset.CoreV1().Nodes().List(context.TODO(), metav1.ListOptions{})
nodes, err := utils.Cfg.Clientset.CoreV1().Nodes().List(context.TODO(), metav1.ListOptions{LabelSelector: labels})
if err != nil {
return err
}
Expand Down

0 comments on commit cbcbef3

Please sign in to comment.