mirror of
				https://github.com/juanfont/headscale.git
				synced 2025-10-28 10:51:44 +01:00 
			
		
		
		
	Add --all flag to routes enable command to enable all advertised routes
This commit is contained in:
		
							parent
							
								
									c883e79884
								
							
						
					
					
						commit
						4f97e077db
					
				| @ -16,6 +16,9 @@ func init() { | |||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		log.Fatalf(err.Error()) | 		log.Fatalf(err.Error()) | ||||||
| 	} | 	} | ||||||
|  | 
 | ||||||
|  | 	enableRouteCmd.Flags().BoolP("all", "a", false, "Enable all routes advertised by the node") | ||||||
|  | 
 | ||||||
| 	routesCmd.AddCommand(listRoutesCmd) | 	routesCmd.AddCommand(listRoutesCmd) | ||||||
| 	routesCmd.AddCommand(enableRouteCmd) | 	routesCmd.AddCommand(enableRouteCmd) | ||||||
| } | } | ||||||
| @ -71,24 +74,64 @@ var enableRouteCmd = &cobra.Command{ | |||||||
| 	Use:   "enable node-name route", | 	Use:   "enable node-name route", | ||||||
| 	Short: "Allows exposing a route declared by this node to the rest of the nodes", | 	Short: "Allows exposing a route declared by this node to the rest of the nodes", | ||||||
| 	Args: func(cmd *cobra.Command, args []string) error { | 	Args: func(cmd *cobra.Command, args []string) error { | ||||||
|  | 		all, err := cmd.Flags().GetBool("all") | ||||||
|  | 		if err != nil { | ||||||
|  | 			log.Fatalf("Error getting namespace: %s", err) | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		if all { | ||||||
|  | 			if len(args) < 1 { | ||||||
|  | 				return fmt.Errorf("Missing parameters") | ||||||
|  | 			} | ||||||
|  | 			return nil | ||||||
|  | 		} else { | ||||||
| 			if len(args) < 2 { | 			if len(args) < 2 { | ||||||
| 				return fmt.Errorf("Missing parameters") | 				return fmt.Errorf("Missing parameters") | ||||||
| 			} | 			} | ||||||
| 			return nil | 			return nil | ||||||
|  | 		} | ||||||
| 	}, | 	}, | ||||||
| 	Run: func(cmd *cobra.Command, args []string) { | 	Run: func(cmd *cobra.Command, args []string) { | ||||||
| 		n, err := cmd.Flags().GetString("namespace") | 		n, err := cmd.Flags().GetString("namespace") | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			log.Fatalf("Error getting namespace: %s", err) | 			log.Fatalf("Error getting namespace: %s", err) | ||||||
| 		} | 		} | ||||||
|  | 
 | ||||||
| 		o, _ := cmd.Flags().GetString("output") | 		o, _ := cmd.Flags().GetString("output") | ||||||
| 
 | 
 | ||||||
|  | 		all, err := cmd.Flags().GetBool("all") | ||||||
|  | 		if err != nil { | ||||||
|  | 			log.Fatalf("Error getting namespace: %s", err) | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
| 		h, err := getHeadscaleApp() | 		h, err := getHeadscaleApp() | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			log.Fatalf("Error initializing: %s", err) | 			log.Fatalf("Error initializing: %s", err) | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
|  | 		if all { | ||||||
|  | 			availableRoutes, err := h.GetAdvertisedNodeRoutes(n, args[0]) | ||||||
|  | 			if err != nil { | ||||||
|  | 				fmt.Println(err) | ||||||
|  | 				return | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 			for _, availableRoute := range *availableRoutes { | ||||||
|  | 				err = h.EnableNodeRoute(n, args[0], availableRoute.String()) | ||||||
|  | 				if err != nil { | ||||||
|  | 					fmt.Println(err) | ||||||
|  | 					return | ||||||
|  | 				} | ||||||
|  | 
 | ||||||
|  | 				if strings.HasPrefix(o, "json") { | ||||||
|  | 					JsonOutput(availableRoute, err, o) | ||||||
|  | 				} else { | ||||||
|  | 					fmt.Printf("Enabled route %s\n", availableRoute) | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 		} else { | ||||||
| 			err = h.EnableNodeRoute(n, args[0], args[1]) | 			err = h.EnableNodeRoute(n, args[0], args[1]) | ||||||
|  | 
 | ||||||
| 			if strings.HasPrefix(o, "json") { | 			if strings.HasPrefix(o, "json") { | ||||||
| 				JsonOutput(args[1], err, o) | 				JsonOutput(args[1], err, o) | ||||||
| 				return | 				return | ||||||
| @ -99,5 +142,6 @@ var enableRouteCmd = &cobra.Command{ | |||||||
| 				return | 				return | ||||||
| 			} | 			} | ||||||
| 			fmt.Printf("Enabled route %s\n", args[1]) | 			fmt.Printf("Enabled route %s\n", args[1]) | ||||||
|  | 		} | ||||||
| 	}, | 	}, | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user