diff --git a/cli/cmd/host/refresh_keys.go b/cli/cmd/host/refresh_keys.go new file mode 100644 index 00000000..44116d06 --- /dev/null +++ b/cli/cmd/host/refresh_keys.go @@ -0,0 +1,21 @@ +package host + +import ( + "github.com/gravitl/netmaker/cli/functions" + "github.com/spf13/cobra" +) + +var hostRefreshKeysCmd = &cobra.Command{ + Use: "refresh_keys [HOST ID] ", + Args: cobra.MaximumNArgs(1), + Short: "Refresh wireguard keys on host", + Long: `Refresh wireguard keys on specified or all hosts + If HOSTID is not specified, all hosts will be updated`, + Run: func(cmd *cobra.Command, args []string) { + functions.PrettyPrint(functions.RefreshKeys(args[0])) + }, +} + +func init() { + rootCmd.AddCommand(hostRefreshKeysCmd) +} diff --git a/cli/cmd/network/refresh_keys.go b/cli/cmd/network/refresh_keys.go deleted file mode 100644 index bc3e37b9..00000000 --- a/cli/cmd/network/refresh_keys.go +++ /dev/null @@ -1,20 +0,0 @@ -package network - -import ( - "github.com/gravitl/netmaker/cli/functions" - "github.com/spf13/cobra" -) - -var networkRefreshKeysCmd = &cobra.Command{ - Use: "refresh_keys [NETWORK NAME]", - Short: "Refresh public and private key pairs of a network", - Long: `Refresh public and private key pairs of a network`, - Args: cobra.ExactArgs(1), - Run: func(cmd *cobra.Command, args []string) { - functions.PrettyPrint(functions.RefreshKeys(args[0])) - }, -} - -func init() { - rootCmd.AddCommand(networkRefreshKeysCmd) -} diff --git a/cli/functions/host.go b/cli/functions/host.go index 553aca0c..81fb13c2 100644 --- a/cli/functions/host.go +++ b/cli/functions/host.go @@ -48,3 +48,12 @@ func CreateRelay(hostID string, relayedHosts []string) *models.ApiHost { func DeleteRelay(hostID string) *models.ApiHost { return request[models.ApiHost](http.MethodDelete, fmt.Sprintf("/api/hosts/%s/relay", hostID), nil) } + +// RefreshKeys - refresh wireguard keys +func RefreshKeys(hostID string) any { + if hostID == "" { + return request[any](http.MethodPost, "/api/hosts/keys", nil) + } + return request[any](http.MethodPost, fmt.Sprintf("/api/hosts/%s/keys", hostID), nil) + +} diff --git a/cli/functions/network.go b/cli/functions/network.go index ae74aa64..3d2f0ef2 100644 --- a/cli/functions/network.go +++ b/cli/functions/network.go @@ -38,8 +38,3 @@ func GetNetwork(name string) *models.Network { func DeleteNetwork(name string) *string { return request[string](http.MethodDelete, "/api/networks/"+name, nil) } - -// RefreshKeys - refresh public and private key pairs for a network -func RefreshKeys(networkName string) *models.Network { - return request[models.Network](http.MethodPost, fmt.Sprintf("/api/networks/%s/keyupdate", networkName), nil) -}