mirror of
				https://github.com/juanfont/headscale.git
				synced 2025-10-28 10:51:44 +01:00 
			
		
		
		
	Merge branch 'feat-list-tags-of-machines' of github.com:restanrm/headscale into feat-list-tags-of-machines
This commit is contained in:
		
						commit
						bc1909fa22
					
				| @ -12,6 +12,7 @@ | |||||||
| - Added more configuration parameters for OpenID Connect (scopes, free-form paramters, domain and user allowlist) | - Added more configuration parameters for OpenID Connect (scopes, free-form paramters, domain and user allowlist) | ||||||
| - Add command to set tags on a node [#525](https://github.com/juanfont/headscale/issues/525) | - Add command to set tags on a node [#525](https://github.com/juanfont/headscale/issues/525) | ||||||
| - Add command to view tags of nodes [#356](https://github.com/juanfont/headscale/issues/356) | - Add command to view tags of nodes [#356](https://github.com/juanfont/headscale/issues/356) | ||||||
|  | - Add --all (-a) flag to enable routes command [#360](https://github.com/juanfont/headscale/issues/360) | ||||||
| 
 | 
 | ||||||
| ## 0.15.0 (2022-03-20) | ## 0.15.0 (2022-03-20) | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -24,6 +24,8 @@ func init() { | |||||||
| 	enableRouteCmd.Flags(). | 	enableRouteCmd.Flags(). | ||||||
| 		StringSliceP("route", "r", []string{}, "List (or repeated flags) of routes to enable") | 		StringSliceP("route", "r", []string{}, "List (or repeated flags) of routes to enable") | ||||||
| 	enableRouteCmd.Flags().Uint64P("identifier", "i", 0, "Node identifier (ID)") | 	enableRouteCmd.Flags().Uint64P("identifier", "i", 0, "Node identifier (ID)") | ||||||
|  | 	enableRouteCmd.Flags().BoolP("all", "a", false, "All routes from host") | ||||||
|  | 
 | ||||||
| 	err = enableRouteCmd.MarkFlagRequired("identifier") | 	err = enableRouteCmd.MarkFlagRequired("identifier") | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		log.Fatalf(err.Error()) | 		log.Fatalf(err.Error()) | ||||||
| @ -125,21 +127,43 @@ omit the route you do not want to enable. | |||||||
| 			return | 			return | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		routes, err := cmd.Flags().GetStringSlice("route") |  | ||||||
| 		if err != nil { |  | ||||||
| 			ErrorOutput( |  | ||||||
| 				err, |  | ||||||
| 				fmt.Sprintf("Error getting routes from flag: %s", err), |  | ||||||
| 				output, |  | ||||||
| 			) |  | ||||||
| 
 |  | ||||||
| 			return |  | ||||||
| 		} |  | ||||||
| 
 |  | ||||||
| 		ctx, client, conn, cancel := getHeadscaleCLIClient() | 		ctx, client, conn, cancel := getHeadscaleCLIClient() | ||||||
| 		defer cancel() | 		defer cancel() | ||||||
| 		defer conn.Close() | 		defer conn.Close() | ||||||
| 
 | 
 | ||||||
|  | 		var routes []string | ||||||
|  | 
 | ||||||
|  | 		isAll, _ := cmd.Flags().GetBool("all") | ||||||
|  | 		if isAll { | ||||||
|  | 			response, err := client.GetMachineRoute(ctx, &v1.GetMachineRouteRequest{ | ||||||
|  | 				MachineId: machineID, | ||||||
|  | 			}) | ||||||
|  | 			if err != nil { | ||||||
|  | 				ErrorOutput( | ||||||
|  | 					err, | ||||||
|  | 					fmt.Sprintf( | ||||||
|  | 						"Cannot get machine routes: %s\n", | ||||||
|  | 						status.Convert(err).Message(), | ||||||
|  | 					), | ||||||
|  | 					output, | ||||||
|  | 				) | ||||||
|  | 
 | ||||||
|  | 				return | ||||||
|  | 			} | ||||||
|  | 			routes = response.GetRoutes().GetAdvertisedRoutes() | ||||||
|  | 		} else { | ||||||
|  | 			routes, err = cmd.Flags().GetStringSlice("route") | ||||||
|  | 			if err != nil { | ||||||
|  | 				ErrorOutput( | ||||||
|  | 					err, | ||||||
|  | 					fmt.Sprintf("Error getting routes from flag: %s", err), | ||||||
|  | 					output, | ||||||
|  | 				) | ||||||
|  | 
 | ||||||
|  | 				return | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
| 		request := &v1.EnableMachineRoutesRequest{ | 		request := &v1.EnableMachineRoutesRequest{ | ||||||
| 			MachineId: machineID, | 			MachineId: machineID, | ||||||
| 			Routes:    routes, | 			Routes:    routes, | ||||||
|  | |||||||
| @ -1205,6 +1205,35 @@ func (s *IntegrationCLITestSuite) TestRouteCommand() { | |||||||
| 		string(failEnableNonAdvertisedRoute), | 		string(failEnableNonAdvertisedRoute), | ||||||
| 		"route (route-machine) is not available on node", | 		"route (route-machine) is not available on node", | ||||||
| 	) | 	) | ||||||
|  | 
 | ||||||
|  | 	// Enable all routes on host
 | ||||||
|  | 	enableAllRouteResult, err := ExecuteCommand( | ||||||
|  | 		&s.headscale, | ||||||
|  | 		[]string{ | ||||||
|  | 			"headscale", | ||||||
|  | 			"routes", | ||||||
|  | 			"enable", | ||||||
|  | 			"--output", | ||||||
|  | 			"json", | ||||||
|  | 			"--identifier", | ||||||
|  | 			"0", | ||||||
|  | 			"--all", | ||||||
|  | 		}, | ||||||
|  | 		[]string{}, | ||||||
|  | 	) | ||||||
|  | 	assert.Nil(s.T(), err) | ||||||
|  | 
 | ||||||
|  | 	var enableAllRoute v1.Routes | ||||||
|  | 	err = json.Unmarshal([]byte(enableAllRouteResult), &enableAllRoute) | ||||||
|  | 	assert.Nil(s.T(), err) | ||||||
|  | 
 | ||||||
|  | 	assert.Len(s.T(), enableAllRoute.AdvertisedRoutes, 2) | ||||||
|  | 	assert.Contains(s.T(), enableAllRoute.AdvertisedRoutes, "10.0.0.0/8") | ||||||
|  | 	assert.Contains(s.T(), enableAllRoute.AdvertisedRoutes, "192.168.1.0/24") | ||||||
|  | 
 | ||||||
|  | 	assert.Len(s.T(), enableAllRoute.EnabledRoutes, 2) | ||||||
|  | 	assert.Contains(s.T(), enableAllRoute.EnabledRoutes, "10.0.0.0/8") | ||||||
|  | 	assert.Contains(s.T(), enableAllRoute.EnabledRoutes, "192.168.1.0/24") | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (s *IntegrationCLITestSuite) TestApiKeyCommand() { | func (s *IntegrationCLITestSuite) TestApiKeyCommand() { | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user