summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--digitalocean/droplet.go18
-rw-r--r--digitalocean/xterm.go31
2 files changed, 49 insertions, 0 deletions
diff --git a/digitalocean/droplet.go b/digitalocean/droplet.go
index 8da6e97..a780a13 100644
--- a/digitalocean/droplet.go
+++ b/digitalocean/droplet.go
@@ -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())
}
diff --git a/digitalocean/xterm.go b/digitalocean/xterm.go
new file mode 100644
index 0000000..5c94560
--- /dev/null
+++ b/digitalocean/xterm.go
@@ -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)
+}