Align CLI naming with AX conventions
This commit is contained in:
parent
53b2156216
commit
0671c60a1a
13 changed files with 55 additions and 55 deletions
|
|
@ -37,7 +37,7 @@ var doctorCmd = &cobra.Command{
|
|||
Use: "doctor",
|
||||
Short: "Check and refresh the status of installed miners",
|
||||
Long: `Performs a live check for installed miners, displays their status, and updates the local cache.`,
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
RunE: func(_ *cobra.Command, args []string) error {
|
||||
fmt.Println("--- Mining Doctor ---")
|
||||
fmt.Println("Performing live check and refreshing cache...")
|
||||
fmt.Println()
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ var installCmd = &cobra.Command{
|
|||
Short: "Install or update a miner",
|
||||
Long: `Download and install a new miner, or update an existing one to the latest version.`,
|
||||
Args: cobra.ExactArgs(1),
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
RunE: func(_ *cobra.Command, args []string) error {
|
||||
minerType := args[0]
|
||||
|
||||
var miner mining.Miner
|
||||
|
|
@ -65,8 +65,8 @@ var installCmd = &cobra.Command{
|
|||
}
|
||||
|
||||
func updateDoctorCache() error {
|
||||
manager := getManager()
|
||||
availableMiners := manager.ListAvailableMiners()
|
||||
serviceManager := getServiceManager()
|
||||
availableMiners := serviceManager.ListAvailableMiners()
|
||||
if len(availableMiners) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,11 +11,11 @@ var listCmd = &cobra.Command{
|
|||
Use: "list",
|
||||
Short: "List running and available miners",
|
||||
Long: `List all running miners and their status, as well as all miners that are available to be installed and started.`,
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
manager := getManager()
|
||||
RunE: func(_ *cobra.Command, args []string) error {
|
||||
serviceManager := getServiceManager()
|
||||
|
||||
// List running miners
|
||||
runningMiners := manager.ListMiners()
|
||||
runningMiners := serviceManager.ListMiners()
|
||||
fmt.Println("Running Miners:")
|
||||
if len(runningMiners) == 0 {
|
||||
fmt.Println(" No running miners found.")
|
||||
|
|
@ -30,7 +30,7 @@ var listCmd = &cobra.Command{
|
|||
fmt.Println()
|
||||
|
||||
// List available miners
|
||||
availableMiners := manager.ListAvailableMiners()
|
||||
availableMiners := serviceManager.ListAvailableMiners()
|
||||
fmt.Println("Available Miners:")
|
||||
if len(availableMiners) == 0 {
|
||||
fmt.Println(" No available miners found.")
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ var peerListCmd = &cobra.Command{
|
|||
Use: "list",
|
||||
Short: "List registered peers",
|
||||
Long: `Display all registered peers with their connection status.`,
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
RunE: func(_ *cobra.Command, args []string) error {
|
||||
peerRegistry, err := getPeerRegistry()
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to get peer registry: %w", err)
|
||||
|
|
@ -110,7 +110,7 @@ var peerRemoveCmd = &cobra.Command{
|
|||
Short: "Remove a peer from registry",
|
||||
Long: `Remove a peer node from the registry. This will disconnect if connected.`,
|
||||
Args: cobra.ExactArgs(1),
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
RunE: func(_ *cobra.Command, args []string) error {
|
||||
peerID := args[0]
|
||||
|
||||
peer := findPeerByPartialID(peerID)
|
||||
|
|
@ -138,7 +138,7 @@ var peerPingCmd = &cobra.Command{
|
|||
Short: "Ping a peer and update metrics",
|
||||
Long: `Send a ping to a peer and measure round-trip latency.`,
|
||||
Args: cobra.ExactArgs(1),
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
RunE: func(_ *cobra.Command, args []string) error {
|
||||
peerID := args[0]
|
||||
|
||||
peer := findPeerByPartialID(peerID)
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import (
|
|||
)
|
||||
|
||||
var (
|
||||
manager *mining.Manager
|
||||
serviceManager *mining.Manager
|
||||
)
|
||||
|
||||
var rootCmd = &cobra.Command{
|
||||
|
|
@ -31,14 +31,14 @@ func initializeManager() {
|
|||
if len(os.Args) > 1 && os.Args[1] == "simulate" {
|
||||
return
|
||||
}
|
||||
if manager == nil {
|
||||
manager = mining.NewManager()
|
||||
if serviceManager == nil {
|
||||
serviceManager = mining.NewManager()
|
||||
}
|
||||
}
|
||||
|
||||
func getManager() *mining.Manager {
|
||||
if manager == nil {
|
||||
manager = mining.NewManager()
|
||||
func getServiceManager() *mining.Manager {
|
||||
if serviceManager == nil {
|
||||
serviceManager = mining.NewManager()
|
||||
}
|
||||
return manager
|
||||
return serviceManager
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ var serveCmd = &cobra.Command{
|
|||
Use: "serve",
|
||||
Short: "Start the mining service and interactive shell",
|
||||
Long: `Start the mining service, which provides a RESTful API for managing miners, and an interactive shell for CLI commands.`,
|
||||
RunE: func(command *cobra.Command, args []string) error {
|
||||
RunE: func(_ *cobra.Command, args []string) error {
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
defer cancel()
|
||||
|
||||
|
|
@ -42,10 +42,10 @@ var serveCmd = &cobra.Command{
|
|||
displayAddress := fmt.Sprintf("%s:%d", displayHostName, servePort)
|
||||
listenAddress := fmt.Sprintf("%s:%d", serveHost, servePort)
|
||||
|
||||
// manager := getManager() shares the same miner lifecycle state across `mining start`, `mining stop`, and `mining serve`.
|
||||
manager := getManager()
|
||||
// serviceManager := getServiceManager() shares miner lifecycle state across `mining start`, `mining stop`, and `mining serve`.
|
||||
serviceManager := getServiceManager()
|
||||
|
||||
service, err := mining.NewService(manager, listenAddress, displayAddress, apiNamespace)
|
||||
service, err := mining.NewService(serviceManager, listenAddress, displayAddress, apiNamespace)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to create new service: %w", err)
|
||||
}
|
||||
|
|
@ -122,20 +122,20 @@ var serveCmd = &cobra.Command{
|
|||
continue
|
||||
}
|
||||
|
||||
config := &mining.Config{
|
||||
minerConfig := &mining.Config{
|
||||
Pool: poolURL,
|
||||
Wallet: walletAddress,
|
||||
LogOutput: true,
|
||||
}
|
||||
|
||||
// config.Validate() rejects malformed pool and wallet values before the miner starts.
|
||||
if err := config.Validate(); err != nil {
|
||||
// minerConfig.Validate() rejects malformed pool and wallet values before the miner starts.
|
||||
if err := minerConfig.Validate(); err != nil {
|
||||
fmt.Fprintf(os.Stderr, "Error: Invalid configuration: %v\n", err)
|
||||
fmt.Print(">> ")
|
||||
continue
|
||||
}
|
||||
|
||||
miner, err := manager.StartMiner(context.Background(), minerType, config)
|
||||
miner, err := serviceManager.StartMiner(context.Background(), minerType, minerConfig)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "Error starting miner: %v\n", err)
|
||||
} else {
|
||||
|
|
@ -147,7 +147,7 @@ var serveCmd = &cobra.Command{
|
|||
fmt.Println("Error: status command requires miner name, for example `status xmrig`")
|
||||
} else {
|
||||
minerName := commandArgs[0]
|
||||
miner, err := manager.GetMiner(minerName)
|
||||
miner, err := serviceManager.GetMiner(minerName)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "Error getting miner status: %v\n", err)
|
||||
} else {
|
||||
|
|
@ -169,7 +169,7 @@ var serveCmd = &cobra.Command{
|
|||
fmt.Println("Error: stop command requires miner name, for example `stop xmrig`")
|
||||
} else {
|
||||
minerName := commandArgs[0]
|
||||
err := manager.StopMiner(context.Background(), minerName)
|
||||
err := serviceManager.StopMiner(context.Background(), minerName)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "Error stopping miner: %v\n", err)
|
||||
} else {
|
||||
|
|
@ -177,7 +177,7 @@ var serveCmd = &cobra.Command{
|
|||
}
|
||||
}
|
||||
case "list":
|
||||
miners := manager.ListMiners()
|
||||
miners := serviceManager.ListMiners()
|
||||
if len(miners) == 0 {
|
||||
fmt.Println("No miners currently running.")
|
||||
} else {
|
||||
|
|
@ -206,8 +206,8 @@ var serveCmd = &cobra.Command{
|
|||
case <-ctx.Done():
|
||||
}
|
||||
|
||||
// manager.Stop() stops miner goroutines and closes the shared manager before exit.
|
||||
manager.Stop()
|
||||
// serviceManager.Stop() stops miner goroutines and closes the shared service state before exit.
|
||||
serviceManager.Stop()
|
||||
|
||||
fmt.Println("Mining service stopped.")
|
||||
return nil
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ Available presets:
|
|||
cpu-high - High-end CPU (15 kH/s, rx/0)
|
||||
gpu-ethash - GPU mining ETH (30 MH/s, ethash)
|
||||
gpu-kawpow - GPU mining RVN (15 MH/s, kawpow)`,
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
RunE: func(_ *cobra.Command, args []string) error {
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
defer cancel()
|
||||
|
||||
|
|
@ -60,8 +60,8 @@ Available presets:
|
|||
displayAddress := fmt.Sprintf("%s:%d", displayHost, servePort)
|
||||
listenAddress := fmt.Sprintf("%s:%d", serveHost, servePort)
|
||||
|
||||
// manager := mining.NewManagerForSimulation() // keeps simulated miners isolated from the real autostart state.
|
||||
manager := mining.NewManagerForSimulation()
|
||||
// serviceManager := mining.NewManagerForSimulation() // keeps simulated miners isolated from the real autostart state.
|
||||
serviceManager := mining.NewManagerForSimulation()
|
||||
|
||||
// getSimulatedConfig(0) // returns a config such as sim-cpu-medium-001.
|
||||
for i := 0; i < simulatedMinerCount; i++ {
|
||||
|
|
@ -73,8 +73,8 @@ Available presets:
|
|||
return fmt.Errorf("failed to start simulated miner %d: %w", i, err)
|
||||
}
|
||||
|
||||
// manager.RegisterMiner(simulatedMiner) // makes the simulated miner visible to `mining serve`.
|
||||
if err := manager.RegisterMiner(simulatedMiner); err != nil {
|
||||
// serviceManager.RegisterMiner(simulatedMiner) // makes the simulated miner visible to `mining serve`.
|
||||
if err := serviceManager.RegisterMiner(simulatedMiner); err != nil {
|
||||
return fmt.Errorf("failed to register simulated miner %d: %w", i, err)
|
||||
}
|
||||
|
||||
|
|
@ -82,8 +82,8 @@ Available presets:
|
|||
simulatedConfig.Name, simulatedConfig.Algorithm, simulatedConfig.BaseHashrate)
|
||||
}
|
||||
|
||||
// service, err := mining.NewService(manager, listenAddress, displayAddress, apiNamespace) // serves the simulator on http://127.0.0.1:9090.
|
||||
service, err := mining.NewService(manager, listenAddress, displayAddress, apiNamespace)
|
||||
// service, err := mining.NewService(serviceManager, listenAddress, displayAddress, apiNamespace) // serves the simulator on http://127.0.0.1:9090.
|
||||
service, err := mining.NewService(serviceManager, listenAddress, displayAddress, apiNamespace)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to create new service: %w", err)
|
||||
}
|
||||
|
|
@ -113,9 +113,9 @@ Available presets:
|
|||
case <-ctx.Done():
|
||||
}
|
||||
|
||||
// for _, miner := range manager.ListMiners() { manager.StopMiner(context.Background(), miner.GetName()) } // stops every simulated miner before exit.
|
||||
for _, miner := range manager.ListMiners() {
|
||||
manager.StopMiner(context.Background(), miner.GetName())
|
||||
// for _, miner := range serviceManager.ListMiners() { serviceManager.StopMiner(context.Background(), miner.GetName()) } // stops every simulated miner before exit.
|
||||
for _, miner := range serviceManager.ListMiners() {
|
||||
serviceManager.StopMiner(context.Background(), miner.GetName())
|
||||
}
|
||||
|
||||
fmt.Println("Simulation stopped.")
|
||||
|
|
|
|||
|
|
@ -19,14 +19,14 @@ var startCmd = &cobra.Command{
|
|||
Short: "Start a new miner",
|
||||
Long: `Start a new miner with the specified configuration.`,
|
||||
Args: cobra.ExactArgs(1),
|
||||
RunE: func(command *cobra.Command, args []string) error {
|
||||
RunE: func(_ *cobra.Command, args []string) error {
|
||||
minerType := args[0]
|
||||
config := &mining.Config{
|
||||
minerConfig := &mining.Config{
|
||||
Pool: poolAddress,
|
||||
Wallet: walletAddress,
|
||||
}
|
||||
|
||||
miner, err := getManager().StartMiner(context.Background(), minerType, config)
|
||||
miner, err := getServiceManager().StartMiner(context.Background(), minerType, minerConfig)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to start miner: %w", err)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,11 +15,11 @@ var statusCmd = &cobra.Command{
|
|||
Short: "Get status of a running miner",
|
||||
Long: `Get detailed status information for a specific running miner.`,
|
||||
Args: cobra.ExactArgs(1),
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
RunE: func(_ *cobra.Command, args []string) error {
|
||||
minerName := args[0]
|
||||
manager := getManager()
|
||||
serviceManager := getServiceManager()
|
||||
|
||||
miner, err := manager.GetMiner(minerName)
|
||||
miner, err := serviceManager.GetMiner(minerName)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to get miner: %w", err)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,11 +13,11 @@ var stopCmd = &cobra.Command{
|
|||
Short: "Stop a running miner",
|
||||
Long: `Stop a running miner by its name.`,
|
||||
Args: cobra.ExactArgs(1),
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
RunE: func(_ *cobra.Command, args []string) error {
|
||||
minerName := args[0]
|
||||
manager := getManager()
|
||||
serviceManager := getServiceManager()
|
||||
|
||||
if err := manager.StopMiner(context.Background(), minerName); err != nil {
|
||||
if err := serviceManager.StopMiner(context.Background(), minerName); err != nil {
|
||||
return fmt.Errorf("failed to stop miner: %w", err)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -13,12 +13,12 @@ var uninstallCmd = &cobra.Command{
|
|||
Short: "Uninstall a miner",
|
||||
Long: `Stops the miner if it is running, removes all associated files, and updates the configuration.`,
|
||||
Args: cobra.ExactArgs(1),
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
RunE: func(_ *cobra.Command, args []string) error {
|
||||
minerType := args[0]
|
||||
manager := getManager() // getManager() returns the shared manager used by `mining uninstall`.
|
||||
serviceManager := getServiceManager() // getServiceManager() returns the shared manager used by `mining uninstall`.
|
||||
|
||||
fmt.Printf("Uninstalling %s...\n", minerType)
|
||||
if err := manager.UninstallMiner(context.Background(), minerType); err != nil {
|
||||
if err := serviceManager.UninstallMiner(context.Background(), minerType); err != nil {
|
||||
return fmt.Errorf("failed to uninstall miner: %w", err)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ var updateCmd = &cobra.Command{
|
|||
Use: "update",
|
||||
Short: "Check for updates to installed miners",
|
||||
Long: `Checks for new versions of all installed miners and notifies you if an update is available.`,
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
RunE: func(_ *cobra.Command, args []string) error {
|
||||
fmt.Println("Checking for updates...")
|
||||
|
||||
homeDir, err := os.UserHomeDir()
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import (
|
|||
// @host localhost:8080
|
||||
// @BasePath /api/v1/mining
|
||||
func main() {
|
||||
// If no command is provided, default to "serve"
|
||||
// go run ./cmd/mining starts the HTTP API by default when no subcommand is provided.
|
||||
if len(os.Args) == 1 {
|
||||
os.Args = append(os.Args, "serve")
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue