From a37fe34bc17f2f3d122da6b121ed83ef8ee7b0fa Mon Sep 17 00:00:00 2001 From: Christine Dodrill Date: Fri, 5 Oct 2018 14:30:43 -0700 Subject: automate xena/xperimental build --- tools/dokku/.gitignore | 1 - tools/dokku/README.md | 55 ------------ tools/dokku/config.go | 11 --- tools/dokku/dokku.cfg.sample | 2 - tools/dokku/main.go | 64 -------------- tools/graphirot/README.md | 3 - tools/graphirot/main.go | 100 ---------------------- tools/graphirot/tree.svg | 198 ------------------------------------------- tools/imagesize/.gitignore | 2 - tools/imagesize/main.go | 147 -------------------------------- tools/yk/main.go | 48 ----------- 11 files changed, 631 deletions(-) delete mode 100644 tools/dokku/.gitignore delete mode 100644 tools/dokku/README.md delete mode 100644 tools/dokku/config.go delete mode 100644 tools/dokku/dokku.cfg.sample delete mode 100644 tools/dokku/main.go delete mode 100644 tools/graphirot/README.md delete mode 100644 tools/graphirot/main.go delete mode 100644 tools/graphirot/tree.svg delete mode 100644 tools/imagesize/.gitignore delete mode 100644 tools/imagesize/main.go delete mode 100644 tools/yk/main.go (limited to 'tools') diff --git a/tools/dokku/.gitignore b/tools/dokku/.gitignore deleted file mode 100644 index ae9366d..0000000 --- a/tools/dokku/.gitignore +++ /dev/null @@ -1 +0,0 @@ -dokku diff --git a/tools/dokku/README.md b/tools/dokku/README.md deleted file mode 100644 index a017917..0000000 --- a/tools/dokku/README.md +++ /dev/null @@ -1,55 +0,0 @@ -Dokku -===== - -This is a simple command line tool to interface with Dokku servers. This is -a port of my shell extension -[`dokku.zsh`](https://github.com/Xe/dotfiles/blob/master/.zsh/dokku.zsh) to -a nice Go binary. - -This takes a configuration file for defining multiple servers: - -```ini -[server "default"] -user = dokku -host = panel.apps.xeserv.us -sshkey = /.ssh/id_rsa -``` - -By default it will imply that the SSH key is `~/.ssh/id_rsa` and that the -username is `dokku`. By default the server named `default` will be used for -command execution. - -TODO ----- - -- [ ] Allow interactive commands -- [ ] Directly pipe stdin and stdout to the ssh connection - ---- - -``` -This is free and unencumbered software released into the public domain. - -Anyone is free to copy, modify, publish, use, compile, sell, or -distribute this software, either in source code form or as a compiled -binary, for any purpose, commercial or non-commercial, and by any -means. - -In jurisdictions that recognize copyright laws, the author or authors -of this software dedicate any and all copyright interest in the -software to the public domain. We make this dedication for the benefit -of the public at large and to the detriment of our heirs and -successors. We intend this dedication to be an overt act of -relinquishment in perpetuity of all present and future rights to this -software under copyright law. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -For more information, please refer to -``` diff --git a/tools/dokku/config.go b/tools/dokku/config.go deleted file mode 100644 index 74c5e0b..0000000 --- a/tools/dokku/config.go +++ /dev/null @@ -1,11 +0,0 @@ -package main - -type Config struct { - Server map[string]*Server -} - -type Server struct { - SSHKey string // if blank default key will be used. - Host string // hostname of the dokku server - User string // if blank username will be dokku -} diff --git a/tools/dokku/dokku.cfg.sample b/tools/dokku/dokku.cfg.sample deleted file mode 100644 index b914ebe..0000000 --- a/tools/dokku/dokku.cfg.sample +++ /dev/null @@ -1,2 +0,0 @@ -[server "default"] -host = panel.apps.xeserv.us diff --git a/tools/dokku/main.go b/tools/dokku/main.go deleted file mode 100644 index 796083d..0000000 --- a/tools/dokku/main.go +++ /dev/null @@ -1,64 +0,0 @@ -package main // christine.website/go/tools/dokku - -import ( - "flag" - "fmt" - "log" - "os" - "strings" - - "github.com/hypersleep/easyssh" - gcfg "gopkg.in/gcfg.v1" -) - -var ( - cfgPath = flag.String("cfg", "", "configuration path, default is ~/.dokku.cfg") - serverName = flag.String("server", "default", "server to use out of dokku config") -) - -func main() { - flag.Parse() - - if *cfgPath == "" { - *cfgPath = os.Getenv("HOME") + "/.dokku.cfg" - } - - var cfg Config - err := gcfg.ReadFileInto(&cfg, *cfgPath) - if err != nil { - log.Fatal(err) - } - - var server *Server - var ok bool - - if server, ok = cfg.Server[*serverName]; !ok { - log.Fatalf("server %s not defined in configuration file %s", *serverName, *cfgPath) - } - - if server.User == "" { - server.User = "dokku" - } - - if server.SSHKey == "" { - server.SSHKey = "/.ssh/id_rsa" - } - - ssh := &easyssh.MakeConfig{ - User: server.User, - Server: server.Host, - Key: server.SSHKey, - } - - command := strings.Join(flag.Args(), " ") - - stdout, stderr, _, err := ssh.Run(command, 360) - if err != nil { - log.Fatal(err) - } - - fmt.Print(stdout) - fmt.Println() - fmt.Print(stderr) - fmt.Println() -} diff --git a/tools/graphirot/README.md b/tools/graphirot/README.md deleted file mode 100644 index beb7f7b..0000000 --- a/tools/graphirot/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# graphirot - -A really, really bad idea to find out what happens when you translate the tree of life to graphviz. diff --git a/tools/graphirot/main.go b/tools/graphirot/main.go deleted file mode 100644 index bf0964a..0000000 --- a/tools/graphirot/main.go +++ /dev/null @@ -1,100 +0,0 @@ -package main - -import ( - "os" - - "github.com/mzohreva/GoGraphviz/graphviz" -) - -func main() { - g := graphviz.Graph{} - - keter := g.AddNode("Keter") - binah := g.AddNode("Binah") - chokmah := g.AddNode("Chokmah") - daat := g.AddNode("Da'at") - gevurah := g.AddNode("Gevurah") - hesed := g.AddNode("Hesed") - tiferet := g.AddNode("Tilferet") - hod := g.AddNode("Hod") - netzah := g.AddNode("Netzah") - yesod := g.AddNode("Yesod") - malkhut := g.AddNode("Malkhut") - - g.NodeAttribute(keter, "group", "g1") - g.NodeAttribute(binah, "group", "g2") - g.NodeAttribute(chokmah, "group", "g2") - g.NodeAttribute(daat, "group", "g3") - g.NodeAttribute(gevurah, "group", "g4") - g.NodeAttribute(hesed, "group", "g4") - g.NodeAttribute(tiferet, "group", "g5") - g.NodeAttribute(hod, "group", "g6") - g.NodeAttribute(netzah, "group", "g6") - g.NodeAttribute(yesod, "group", "g7") - g.NodeAttribute(malkhut, "group", "g8") - - invisLink := func(a, b int) { - e := g.AddEdge(a, b, "") - g.EdgeAttribute(e, "style", "invis") - } - invisLink(daat, keter) - invisLink(daat, binah) - invisLink(daat, chokmah) - invisLink(daat, tiferet) - - g.AddEdge(keter, binah, "") - g.AddEdge(keter, chokmah, "") - g.AddEdge(keter, tiferet, "") - - g.AddEdge(binah, chokmah, "") - g.AddEdge(binah, keter, "") - g.AddEdge(binah, gevurah, "") - g.AddEdge(binah, tiferet, "") - g.AddEdge(binah, hesed, "") - - g.AddEdge(chokmah, keter, "") - g.AddEdge(chokmah, binah, "") - g.AddEdge(chokmah, tiferet, "") - g.AddEdge(chokmah, hesed, "") - - g.AddEdge(gevurah, binah, "") - g.AddEdge(gevurah, chokmah, "") - g.AddEdge(gevurah, hesed, "") - g.AddEdge(gevurah, tiferet, "") - g.AddEdge(gevurah, hod, "") - - g.AddEdge(hesed, chokmah, "") - g.AddEdge(hesed, binah, "") - g.AddEdge(hesed, gevurah, "") - g.AddEdge(hesed, hod, "") - g.AddEdge(hesed, netzah, "") - - g.AddEdge(tiferet, keter, "") - g.AddEdge(tiferet, binah, "") - g.AddEdge(tiferet, gevurah, "") - g.AddEdge(tiferet, hesed, "") - g.AddEdge(tiferet, hod, "") - g.AddEdge(tiferet, netzah, "") - g.AddEdge(tiferet, yesod, "") - - g.AddEdge(hod, gevurah, "") - g.AddEdge(hod, tiferet, "") - g.AddEdge(hod, netzah, "") - g.AddEdge(hod, yesod, "") - - g.AddEdge(netzah, hesed, "") - g.AddEdge(netzah, tiferet, "") - g.AddEdge(netzah, hod, "") - g.AddEdge(netzah, yesod, "") - - g.AddEdge(yesod, hod, "") - g.AddEdge(yesod, tiferet, "") - g.AddEdge(yesod, netzah, "") - g.AddEdge(yesod, malkhut, "") - - g.MakeSameRank(binah, chokmah) - g.MakeSameRank(gevurah, hesed) - g.MakeSameRank(hod, netzah) - - g.GenerateDOT(os.Stdout) -} diff --git a/tools/graphirot/tree.svg b/tools/graphirot/tree.svg deleted file mode 100644 index 9eeff5b..0000000 --- a/tools/graphirot/tree.svg +++ /dev/null @@ -1,198 +0,0 @@ - - - - - - -%0 - - - -n0 - -Keter - - - -n1 - -Binah - - - -n0--n1 - - - - -n2 - -Chokmah - - - -n0--n2 - - - - -n6 - -Tilferet - - - -n0--n6 - - - - -n1--n2 - - - - -n4 - -Gevurah - - - -n1--n4 - - - - -n5 - -Hesed - - - -n1--n5 - - - - -n1--n6 - - - - -n2--n5 - - - - -n2--n6 - - - - -n3 - -Da'at - - - - - - - -n4--n2 - - - - -n4--n5 - - - - -n4--n6 - - - - -n7 - -Hod - - - -n4--n7 - - - - -n5--n7 - - - - -n8 - -Netzah - - - -n5--n8 - - - - -n6--n5 - - - - -n6--n7 - - - - -n6--n8 - - - - -n9 - -Yesod - - - -n6--n9 - - - - -n7--n8 - - - - -n7--n9 - - - - -n8--n9 - - - - -n10 - -Malkhut - - - -n9--n10 - - - - diff --git a/tools/imagesize/.gitignore b/tools/imagesize/.gitignore deleted file mode 100644 index 2f711bd..0000000 --- a/tools/imagesize/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -imagesize -output diff --git a/tools/imagesize/main.go b/tools/imagesize/main.go deleted file mode 100644 index 21c7f7c..0000000 --- a/tools/imagesize/main.go +++ /dev/null @@ -1,147 +0,0 @@ -package main - -import ( - "flag" - "fmt" - "image" - _ "image/gif" - _ "image/jpeg" - _ "image/png" - "io" - "log" - "os" - "path/filepath" - "strings" -) - -var ( - format = flag.String("format", "jpg", "Image format to prefer") - outputDir = flag.String("output", "./output", "Where to write validated images to") - where = flag.String("where", ".", "Directory to scan for unvalidated images") - minWidth = flag.Int("minsize", 2559, "Minimum width") // Width of SP3 display - debugFlag = flag.Bool("debug", false, "panic() on error?") -) - -func main() { - flag.Parse() - log.Printf("Debug: %v", *debugFlag) - - // discard error value. XXX fix this? - os.Mkdir(*outputDir, 0755) - - err := filepath.Walk(*where, validate) - if err != nil { - if *debugFlag { - panic(err) - } else { - log.Fatal(err) - } - } -} - -// validate takes a walked directory entry and sees if the image is big enough. -func validate(path string, info os.FileInfo, err error) error { - if info.IsDir() { - return nil - } - - fin, err := os.Open(path) - if err != nil { - return err - } - defer fin.Close() - - if *debugFlag { - log.Println(path) - } - - defer func() { - if r := recover(); r != nil { - log.Printf("%q: %v", path, r) - } - }() - - img, format, err := image.DecodeConfig(fin) - if err != nil { - return err - } - - if img.Width > *minWidth { - err = CopyFile(path, *outputDir+"/"+filepath.Base(strings.TrimSuffix(info.Name(), filepath.Ext(path))+"."+format)) - if err != nil { - return err - } - } - - return nil -} - -// CopyFile copies a file from src to dst. If src and dst files exist, and are -// the same, then return success. Otherise, attempt to create a hard link -// between the two files. If that fail, copy the file contents from src to dst. -func CopyFile(src, dst string) (err error) { - sfi, err := os.Stat(src) - if err != nil { - return - } - - if !sfi.Mode().IsRegular() { - // cannot copy non-regular files (e.g., directories, - // symlinks, devices, etc.) - return fmt.Errorf("CopyFile: non-regular source file %s (%q)", sfi.Name(), sfi.Mode().String()) - } - - dfi, err := os.Stat(dst) - if err != nil { - if !os.IsNotExist(err) { - return - } - } else { - if !(dfi.Mode().IsRegular()) { - return fmt.Errorf("CopyFile: non-regular destination file %s (%q)", dfi.Name(), dfi.Mode().String()) - } - - if os.SameFile(sfi, dfi) { - return - } - } - if err = os.Link(src, dst); err == nil { - return - } - - err = copyFileContents(src, dst) - return - -} - -// copyFileContents copies the contents of the file named src to the file named -// by dst. The file will be created if it does not already exist. If the -// destination file exists, all it's contents will be replaced by the contents -// of the source file. -func copyFileContents(src, dst string) (err error) { - in, err := os.Open(src) - if err != nil { - return - } - defer in.Close() - - out, err := os.Create(dst) - if err != nil { - return - } - - defer func() { - cerr := out.Close() - - if err == nil { - err = cerr - } - }() - - if _, err = io.Copy(out, in); err != nil { - return - } - - err = out.Sync() - return -} diff --git a/tools/yk/main.go b/tools/yk/main.go deleted file mode 100644 index 56e8417..0000000 --- a/tools/yk/main.go +++ /dev/null @@ -1,48 +0,0 @@ -package main - -import ( - "bufio" - "fmt" - "log" - "os" - "strings" - - "github.com/GeertJohan/yubigo" - _ "github.com/joho/godotenv/autoload" - "github.com/kr/pretty" -) - -func main() { - yubiAuth, err := yubigo.NewYubiAuth(os.Getenv("YUBIKEY_CLIENT_ID"), os.Getenv("YUBIKEY_SECRET_KEY")) - if err != nil { - log.Fatal(err) - } - _ = yubiAuth - - reader := bufio.NewReader(os.Stdin) - fmt.Print("yk> ") - text, err := reader.ReadString(byte('\n')) - if err != nil { - log.Fatal(err) - } - - text = strings.TrimSpace(text) - - resp, _, err := yubiAuth.Verify(text) - if err != nil { - log.Fatal(err) - } - - pretty.Println(resp) - - if !resp.IsValidOTP() { - log.Fatal("invalid OTP") - } - - prefix, _, err := yubigo.ParseOTP(text) - if err != nil { - log.Fatal(err) - } - - log.Printf("uid: %s", prefix) -} -- cgit v1.2.3