refactor key updates on host basis vice node

This commit is contained in:
Matthew R Kasun 2023-04-13 16:08:39 -04:00
parent b2ce1db711
commit 12004aa09a
4 changed files with 30 additions and 25 deletions

View file

@ -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)
}

View file

@ -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)
}

View file

@ -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)
}

View file

@ -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)
}