Skip to content

refactor: v3 #1226

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 7 commits into
base: develop-v3-backup
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions agent/cli.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ func init() {

setupCmd.Flags().String("auth-token-hash", "", "Auth token hash")
setupCmd.Flags().String("wireguard-private-key", "", "Wireguard private key")
setupCmd.Flags().String("wireguard-address", "", "Wireguard address")
setupCmd.Flags().String("docker-network-gateway-address", "", "Docker network gateway address")
setupCmd.Flags().String("docker-network-subnet", "", "Docker network subnet")
setupCmd.Flags().String("wireguard-address", "", "Wireguard address ip/cidr")
setupCmd.Flags().String("docker-network-gateway-address", "", "Docker network gateway address (ip)")
setupCmd.Flags().String("docker-network-subnet", "", "Docker network subnet ip/cidr")
setupCmd.Flags().String("swiftwave-service-address", "", "Swiftwave service address ip:port")
setupCmd.Flags().Bool("enable-haproxy", false, "Enable haproxy")

Expand Down
5 changes: 4 additions & 1 deletion swiftwave_service/cmd/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,25 @@ package cmd
import (
_ "embed"
"fmt"
"os"

swiftwave_config "github.com/swiftwave-org/swiftwave/swiftwave_service/config"
"github.com/swiftwave-org/swiftwave/swiftwave_service/config/local_config"
"github.com/swiftwave-org/swiftwave/swiftwave_service/config/system_config/bootstrap"
"github.com/swiftwave-org/swiftwave/swiftwave_service/db"
"os"

"github.com/spf13/cobra"
)

var config *swiftwave_config.Config

func init() {
rootCmd.Flags().SortFlags = false
rootCmd.AddCommand(initCmd)
rootCmd.AddCommand(configCmd)
rootCmd.AddCommand(dbMigrateCmd)
rootCmd.AddCommand(tlsCmd)
rootCmd.AddCommand(serverManagementCmd)
rootCmd.AddCommand(userManagementCmd)
rootCmd.AddCommand(startCmd)
rootCmd.AddCommand(serviceCmd)
Expand Down
144 changes: 144 additions & 0 deletions swiftwave_service/cmd/server.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
package cmd

import (
"fmt"
"os"
"text/tabwriter"

"github.com/spf13/cobra"
"github.com/swiftwave-org/swiftwave/swiftwave_service/core"
"github.com/swiftwave-org/swiftwave/swiftwave_service/db"
)

func init() {
serverManagementCmd.Flags().SortFlags = false
serverManagementCmd.AddCommand(createServerCmd)
serverManagementCmd.AddCommand(deleteServerCmd)
serverManagementCmd.AddCommand(listServerCmd)
serverManagementCmd.AddCommand(getSetupAgentCmd)

createServerCmd.Flags().String("name", "", "Server Name")
createServerCmd.Flags().String("ip", "", "Server IP")
createServerCmd.MarkFlagRequired("name")
createServerCmd.MarkFlagRequired("ip")

deleteServerCmd.Flags().String("name", "", "Server Name")
deleteServerCmd.MarkFlagRequired("name")
}

var serverManagementCmd = &cobra.Command{
Use: "server",
Short: "Manage servers",
Run: func(cmd *cobra.Command, args []string) {
err := cmd.Help()
if err != nil {
return
}
},
}

var createServerCmd = &cobra.Command{
Use: "create",
Short: "Create a new server",
Long: "Create a new server",
Run: func(cmd *cobra.Command, args []string) {
server_name := cmd.Flag("name").Value.String()
server_ip := cmd.Flag("ip").Value.String()
if server_name == "" || server_ip == "" {
printError("server name and ip are required")
err := cmd.Help()
if err != nil {
return
}
return
}
// Initiating database client
dbClient, err := db.GetClient(config.LocalConfig, 10)
if err != nil {
printError("Failed to connect to database")
return
}
// Create server
server := core.Server{
Name: server_name,
PublicIP: server_ip,
}
err = core.CreateServer(dbClient, &server)
if err != nil {
printError("Failed to create server")
return
}
printSuccess("Created server > " + server_name)
},
}

var deleteServerCmd = &cobra.Command{
Use: "delete",
Short: "Delete a server",
Long: "Delete a server",
Run: func(cmd *cobra.Command, args []string) {
server_name := cmd.Flag("name").Value.String()
if server_name == "" {
printError("server name is required")
err := cmd.Help()
if err != nil {
return
}
return
}
// Initiating database client
dbClient, err := db.GetClient(config.LocalConfig, 10)
if err != nil {
printError("Failed to connect to database")
return
}
server, err := core.FetchServerByName(dbClient, server_name)
if err != nil {
printError("Failed to fetch server")
return
}
// Delete server
err = core.DeleteServer(dbClient, server.ID)
if err != nil {
printError("Failed to delete server")
return
}
},
}

var listServerCmd = &cobra.Command{
Use: "list",
Short: "List servers",
Long: "List servers",
Run: func(cmd *cobra.Command, args []string) {
dbClient, err := db.GetClient(config.LocalConfig, 10)
if err != nil {
printError("Failed to connect to database")
return
}
servers, err := core.FetchAllServers(dbClient)
if err != nil {
printError("Failed to fetch servers")
return
}
// Create a tab writer
w := tabwriter.NewWriter(os.Stdout, 0, 8, 2, ' ', tabwriter.AlignRight)
w.Write([]byte("ID\tName\tIP\tWireguard IP\tDeployment\tProxy\tStatus\tLast Ping\n"))
for _, server := range servers {
w.Write([]byte(fmt.Sprintf("%d\t%s\t%s\t%s\t%s\t%v\t%s\t%s\n", server.ID, server.Name, server.PublicIP, server.WireguardConfig.IP, server.Status, server.ProxyEnabled, server.Status, server.LastPing.Format("2006-01-02 15:04:05"))))
}
w.Flush()
},
}

var getSetupAgentCmd = &cobra.Command{
Use: "setup-agent",
Short: "Setup agent on server",
Long: "Setup agent on server",
Run: func(cmd *cobra.Command, args []string) {
err := cmd.Help()
if err != nil {
return
}
},
}
107 changes: 0 additions & 107 deletions swiftwave_service/console/assets/index.html

This file was deleted.

Loading
Loading