parent
e4a04f36f0
commit
519e428e2f
|
@ -99,6 +99,16 @@ func (d *Droplet) On() bool {
|
|||
|
||||
func (d *Droplet) HasIPv4() bool {
|
||||
if ! d.Ready() {return false}
|
||||
if d.ipv4.GetText() == "" {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
func (d *Droplet) HasIPv6() bool {
|
||||
if ! d.Ready() {return false}
|
||||
if d.ipv6.GetText() == "" {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
|
@ -118,6 +128,14 @@ func (d *Droplet) Connect() {
|
|||
if d.HasIPv4() {
|
||||
ipv4 := d.GetIPv4()
|
||||
log.Info("droplet has IPv4 =", ipv4)
|
||||
xterm("ssh root@" + ipv4)
|
||||
return
|
||||
}
|
||||
if d.HasIPv6() {
|
||||
ipv6 := d.GetIPv6()
|
||||
log.Info("droplet has IPv6 =", ipv6)
|
||||
xterm("ssh root@[" + ipv6 + "]")
|
||||
return
|
||||
}
|
||||
log.Info("droplet.Connect() here", d.GetIPv4(), d.GetIPv6())
|
||||
}
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
package digitalocean
|
||||
|
||||
import (
|
||||
"os/exec"
|
||||
"go.wit.com/log"
|
||||
)
|
||||
|
||||
var geom string = "120x30+500+500"
|
||||
|
||||
func xterm(cmd string) {
|
||||
var tmp []string
|
||||
var argsXterm = []string{"nohup", "xterm", "-geometry", geom}
|
||||
// tmp = append(argsXterm, "-hold", "-e", cmd)
|
||||
tmp = append(argsXterm, "-e", cmd)
|
||||
log.Println("xterm cmd=", cmd)
|
||||
go runCommand(tmp)
|
||||
}
|
||||
|
||||
func runCommand(cmdArgs []string) {
|
||||
log.Println("runCommand() START", cmdArgs)
|
||||
process := exec.Command(cmdArgs[0], cmdArgs[1:len(cmdArgs)]...)
|
||||
// process := exec.Command("xterm", "-e", "ping localhost")
|
||||
log.Println("runCommand() process.Start()")
|
||||
process.Start()
|
||||
log.Println("runCommand() process.Wait()")
|
||||
err := process.Wait()
|
||||
log.Error(err, "on process.Wait")
|
||||
log.Println("runCommand() NEED TO CHECK THE TIME HERE TO SEE IF THIS WORKED")
|
||||
log.Println("runCommand() OTHERWISE INFORM THE USER")
|
||||
log.Println("runCommand() END", cmdArgs)
|
||||
}
|
Loading…
Reference in New Issue