forked from toolshed/abra
		
	feat: allow to only destroy remote server
This commit is contained in:
		| @ -222,7 +222,6 @@ API tokens are read from the environment if specified, e.g. | ||||
|  | ||||
| Where "$provider_TOKEN" is the expected env var format. | ||||
| `, | ||||
| 	ArgsUsage: "<provider>", | ||||
| 	Flags: []cli.Flag{ | ||||
| 		internal.ServerProviderFlag, | ||||
|  | ||||
|  | ||||
| @ -102,7 +102,7 @@ destroyed. | ||||
| var serverRemoveCommand = &cli.Command{ | ||||
| 	Name:      "remove", | ||||
| 	Aliases:   []string{"rm"}, | ||||
| 	ArgsUsage: "<server>", | ||||
| 	ArgsUsage: "[<server>]", | ||||
| 	Usage:     "Remove a managed server", | ||||
| 	Description: ` | ||||
| This command removes a server from Abra management. | ||||
| @ -117,15 +117,20 @@ like tears in rain. | ||||
| `, | ||||
| 	Flags: []cli.Flag{ | ||||
| 		rmServerFlag, | ||||
| 		internal.ServerProviderFlag, | ||||
|  | ||||
| 		// Hetzner | ||||
| 		internal.HetznerCloudNameFlag, | ||||
| 		internal.HetznerCloudAPITokenFlag, | ||||
| 	}, | ||||
| 	Action: func(c *cli.Context) error { | ||||
| 		serverName, err := internal.ValidateServer(c) | ||||
| 		if err != nil { | ||||
| 			logrus.Fatal(err) | ||||
| 		serverName := c.Args().Get(1) | ||||
| 		if serverName != "" { | ||||
| 			var err error | ||||
| 			serverName, err = internal.ValidateServer(c) | ||||
| 			if err != nil { | ||||
| 				logrus.Fatal(err) | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| 		if !rmServer { | ||||
| @ -160,15 +165,17 @@ like tears in rain. | ||||
|  | ||||
| 		} | ||||
|  | ||||
| 		if err := client.DeleteContext(serverName); err != nil { | ||||
| 			logrus.Fatal(err) | ||||
| 		} | ||||
| 		if serverName != "" { | ||||
| 			if err := client.DeleteContext(serverName); err != nil { | ||||
| 				logrus.Fatal(err) | ||||
| 			} | ||||
|  | ||||
| 		if err := os.RemoveAll(filepath.Join(config.SERVERS_DIR, serverName)); err != nil { | ||||
| 			logrus.Fatal(err) | ||||
| 		} | ||||
| 			if err := os.RemoveAll(filepath.Join(config.SERVERS_DIR, serverName)); err != nil { | ||||
| 				logrus.Fatal(err) | ||||
| 			} | ||||
|  | ||||
| 		logrus.Infof("server at %s has been lost in time, like tears in rain", serverName) | ||||
| 			logrus.Infof("server at %s has been lost in time, like tears in rain", serverName) | ||||
| 		} | ||||
|  | ||||
| 		return nil | ||||
| 	}, | ||||
|  | ||||
		Reference in New Issue
	
	Block a user