From 9bb3e8384de4a33062a267aceb0b7d18329f8a97 Mon Sep 17 00:00:00 2001 From: Laszlo Fogas Date: Sun, 7 Apr 2019 21:04:24 +0200 Subject: [PATCH] Removed enterprise CLI features --- cli/drone/autoscale/autoscale.go | 14 --- cli/drone/autoscale/autoscale_pause.go | 21 ---- cli/drone/autoscale/autoscale_resume.go | 21 ---- cli/drone/autoscale/autoscale_version.go | 47 -------- cli/drone/internal/util.go | 16 --- cli/drone/main.go | 9 -- cli/drone/server/server.go | 17 --- cli/drone/server/server_create.go | 46 -------- cli/drone/server/server_destroy.go | 61 ---------- cli/drone/server/server_env.go | 143 ----------------------- cli/drone/server/server_info.go | 60 ---------- cli/drone/server/server_list.go | 110 ----------------- cli/drone/server/server_open.go | 49 -------- 13 files changed, 614 deletions(-) delete mode 100644 cli/drone/autoscale/autoscale.go delete mode 100644 cli/drone/autoscale/autoscale_pause.go delete mode 100644 cli/drone/autoscale/autoscale_resume.go delete mode 100644 cli/drone/autoscale/autoscale_version.go delete mode 100644 cli/drone/server/server.go delete mode 100644 cli/drone/server/server_create.go delete mode 100644 cli/drone/server/server_destroy.go delete mode 100644 cli/drone/server/server_env.go delete mode 100644 cli/drone/server/server_info.go delete mode 100644 cli/drone/server/server_list.go delete mode 100644 cli/drone/server/server_open.go diff --git a/cli/drone/autoscale/autoscale.go b/cli/drone/autoscale/autoscale.go deleted file mode 100644 index 5a5808091..000000000 --- a/cli/drone/autoscale/autoscale.go +++ /dev/null @@ -1,14 +0,0 @@ -package autoscale - -import "github.com/urfave/cli" - -// Command exports the user command set. -var Command = cli.Command{ - Name: "autoscale", - Usage: "manage autoscaling", - Subcommands: []cli.Command{ - autoscalePauseCmd, - autoscaleResumeCmd, - autoscaleVersionCmd, - }, -} diff --git a/cli/drone/autoscale/autoscale_pause.go b/cli/drone/autoscale/autoscale_pause.go deleted file mode 100644 index 995a16989..000000000 --- a/cli/drone/autoscale/autoscale_pause.go +++ /dev/null @@ -1,21 +0,0 @@ -package autoscale - -import ( - "github.com/urfave/cli" - - "github.com/laszlocph/drone-oss-08/cli/drone/internal" -) - -var autoscalePauseCmd = cli.Command{ - Name: "pause", - Usage: "pause the autoscaler", - Action: autoscalePause, -} - -func autoscalePause(c *cli.Context) error { - client, err := internal.NewAutoscaleClient(c) - if err != nil { - return err - } - return client.AutoscalePause() -} diff --git a/cli/drone/autoscale/autoscale_resume.go b/cli/drone/autoscale/autoscale_resume.go deleted file mode 100644 index ac9b8299c..000000000 --- a/cli/drone/autoscale/autoscale_resume.go +++ /dev/null @@ -1,21 +0,0 @@ -package autoscale - -import ( - "github.com/urfave/cli" - - "github.com/laszlocph/drone-oss-08/cli/drone/internal" -) - -var autoscaleResumeCmd = cli.Command{ - Name: "resume", - Usage: "resume the autoscaler", - Action: autoscaleResume, -} - -func autoscaleResume(c *cli.Context) error { - client, err := internal.NewAutoscaleClient(c) - if err != nil { - return err - } - return client.AutoscaleResume() -} diff --git a/cli/drone/autoscale/autoscale_version.go b/cli/drone/autoscale/autoscale_version.go deleted file mode 100644 index 7e1e4f7ed..000000000 --- a/cli/drone/autoscale/autoscale_version.go +++ /dev/null @@ -1,47 +0,0 @@ -package autoscale - -import ( - "os" - "text/template" - - "github.com/urfave/cli" - - "github.com/laszlocph/drone-oss-08/cli/drone/internal" -) - -var autoscaleVersionCmd = cli.Command{ - Name: "version", - Usage: "server version", - Action: autoscaleVersion, - Flags: []cli.Flag{ - cli.StringFlag{ - Name: "format", - Usage: "format output", - Value: tmplAutoscaleVersion, - Hidden: true, - }, - }, -} - -func autoscaleVersion(c *cli.Context) error { - client, err := internal.NewAutoscaleClient(c) - if err != nil { - return err - } - - version, err := client.AutoscaleVersion() - if err != nil { - return err - } - - tmpl, err := template.New("_").Parse(c.String("format") + "\n") - if err != nil { - return err - } - return tmpl.Execute(os.Stdout, version) -} - -var tmplAutoscaleVersion = `Version: {{ .Version }} -Commit: {{ .Commit }} -Source: {{ .Source }} -` diff --git a/cli/drone/internal/util.go b/cli/drone/internal/util.go index 9106da29d..a25181d4d 100644 --- a/cli/drone/internal/util.go +++ b/cli/drone/internal/util.go @@ -71,22 +71,6 @@ func NewClient(c *cli.Context) (drone.Client, error) { return drone.NewClient(server, auther), nil } -// NewAutoscaleClient returns a new client from the CLI context. -func NewAutoscaleClient(c *cli.Context) (drone.Client, error) { - client, err := NewClient(c) - if err != nil { - return nil, err - } - autoscaler := c.GlobalString("autoscaler") - if autoscaler == "" { - return nil, fmt.Errorf("Please provide the autoscaler address") - } - client.SetAddress( - strings.TrimSuffix(autoscaler, "/"), - ) - return client, nil -} - // ParseRepo parses the repository owner and name from a string. func ParseRepo(str string) (user, repo string, err error) { var parts = strings.Split(str, "/") diff --git a/cli/drone/main.go b/cli/drone/main.go index e795f4872..690eee8a5 100644 --- a/cli/drone/main.go +++ b/cli/drone/main.go @@ -4,7 +4,6 @@ import ( "fmt" "os" - "github.com/laszlocph/drone-oss-08/cli/drone/autoscale" "github.com/laszlocph/drone-oss-08/cli/drone/build" "github.com/laszlocph/drone-oss-08/cli/drone/deploy" "github.com/laszlocph/drone-oss-08/cli/drone/exec" @@ -13,7 +12,6 @@ import ( "github.com/laszlocph/drone-oss-08/cli/drone/registry" "github.com/laszlocph/drone-oss-08/cli/drone/repo" "github.com/laszlocph/drone-oss-08/cli/drone/secret" - "github.com/laszlocph/drone-oss-08/cli/drone/server" "github.com/laszlocph/drone-oss-08/cli/drone/user" _ "github.com/joho/godotenv/autoload" @@ -41,11 +39,6 @@ func main() { Usage: "server address", EnvVar: "DRONE_SERVER", }, - cli.StringFlag{ - Name: "autoscaler", - Usage: "autoscaler address", - EnvVar: "DRONE_AUTOSCALER", - }, cli.BoolFlag{ Name: "skip-verify", Usage: "skip ssl verfification", @@ -75,8 +68,6 @@ func main() { secret.Command, repo.Command, user.Command, - server.Command, - autoscale.Command, } if err := app.Run(os.Args); err != nil { diff --git a/cli/drone/server/server.go b/cli/drone/server/server.go deleted file mode 100644 index b183c6da3..000000000 --- a/cli/drone/server/server.go +++ /dev/null @@ -1,17 +0,0 @@ -package server - -import "github.com/urfave/cli" - -// Command exports the user command set. -var Command = cli.Command{ - Name: "server", - Usage: "manage servers", - Subcommands: []cli.Command{ - serverListCmd, - serverInfoCmd, - serverOpenCmd, - serverCreateCmd, - serverDestroyCmd, - serverEnvCmd, - }, -} diff --git a/cli/drone/server/server_create.go b/cli/drone/server/server_create.go deleted file mode 100644 index d5daac9e6..000000000 --- a/cli/drone/server/server_create.go +++ /dev/null @@ -1,46 +0,0 @@ -package server - -import ( - "os" - "text/template" - - "github.com/urfave/cli" - - "github.com/laszlocph/drone-oss-08/cli/drone/internal" -) - -var serverCreateCmd = cli.Command{ - Name: "create", - Usage: "crate a new server", - Action: serverCreate, - Flags: []cli.Flag{ - cli.StringFlag{ - Name: "format", - Usage: "format output", - Value: tmplServerCreate, - Hidden: true, - }, - }, -} - -func serverCreate(c *cli.Context) error { - client, err := internal.NewAutoscaleClient(c) - if err != nil { - return err - } - - server, err := client.ServerCreate() - if err != nil { - return err - } - - tmpl, err := template.New("_").Parse(c.String("format") + "\n") - if err != nil { - return err - } - return tmpl.Execute(os.Stdout, server) -} - -var tmplServerCreate = `Name: {{ .Name }} -State: {{ .State }} -` diff --git a/cli/drone/server/server_destroy.go b/cli/drone/server/server_destroy.go deleted file mode 100644 index 86d33cdb0..000000000 --- a/cli/drone/server/server_destroy.go +++ /dev/null @@ -1,61 +0,0 @@ -package server - -import ( - "fmt" - "os" - "text/template" - - "github.com/urfave/cli" - - "github.com/laszlocph/drone-oss-08/cli/drone/internal" -) - -var serverDestroyCmd = cli.Command{ - Name: "destroy", - Usage: "destroy a server", - ArgsUsage: "", - Action: serverDestroy, - Flags: []cli.Flag{ - cli.StringFlag{ - Name: "format", - Usage: "format output", - Value: tmplServerDestroy, - Hidden: true, - }, - }, -} - -func serverDestroy(c *cli.Context) error { - client, err := internal.NewAutoscaleClient(c) - if err != nil { - return err - } - - name := c.Args().First() - if len(name) == 0 { - return fmt.Errorf("Missing or invalid server name") - } - - err = client.ServerDelete(name) - if err != nil { - return err - } - - server, err := client.Server(name) - if err != nil { - return err - } - - tmpl, err := template.New("_").Parse(c.String("format") + "\n") - if err != nil { - return err - } - return tmpl.Execute(os.Stdout, server) -} - -var tmplServerDestroy = `Name: {{ .Name }} -Address: {{ .Address }} -Region: {{ .Region }} -Size: {{.Size}} -State: {{ .State }} -` diff --git a/cli/drone/server/server_env.go b/cli/drone/server/server_env.go deleted file mode 100644 index 17be92b2b..000000000 --- a/cli/drone/server/server_env.go +++ /dev/null @@ -1,143 +0,0 @@ -package server - -import ( - "encoding/json" - "fmt" - "io/ioutil" - "os" - "os/user" - "path" - "text/template" - - "github.com/urfave/cli" - - "github.com/laszlocph/drone-oss-08/cli/drone/internal" - "github.com/drone/drone-go/drone" -) - -var serverEnvCmd = cli.Command{ - Name: "env", - ArgsUsage: "", - Action: serverEnv, - Flags: []cli.Flag{ - cli.StringFlag{ - Name: "shell", - Usage: "shell [bash, fish, powershell]", - Value: "bash", - }, - cli.BoolFlag{ - Name: "no-proxy", - Usage: "configure the noproxy variable", - }, - cli.BoolFlag{ - Name: "clear", - Usage: "clear the certificate cache", - }, - }, -} - -func serverEnv(c *cli.Context) error { - u, err := user.Current() - if err != nil { - return err - } - - name := c.Args().First() - if len(name) == 0 { - return fmt.Errorf("Missing or invalid server name") - } - - home := path.Join(u.HomeDir, ".drone", "certs") - base := path.Join(home, name) - - if c.Bool("clean") { - os.RemoveAll(home) - } - - server := new(drone.Server) - if _, err := os.Stat(base); err == nil { - data, err := ioutil.ReadFile(path.Join(base, "server.json")) - if err != nil { - return err - } - err = json.Unmarshal(data, server) - if err != nil { - return err - } - } else { - client, err := internal.NewAutoscaleClient(c) - if err != nil { - return err - } - server, err = client.Server(name) - if err != nil { - return err - } - data, err := json.Marshal(server) - if err != nil { - return err - } - err = os.MkdirAll(base, 0755) - if err != nil { - return err - } - err = ioutil.WriteFile(path.Join(base, "server.json"), data, 0644) - if err != nil { - return err - } - err = ioutil.WriteFile(path.Join(base, "ca.pem"), server.CACert, 0644) - if err != nil { - return err - } - err = ioutil.WriteFile(path.Join(base, "cert.pem"), server.TLSCert, 0644) - if err != nil { - return err - } - err = ioutil.WriteFile(path.Join(base, "key.pem"), server.TLSKey, 0644) - if err != nil { - return err - } - } - - return shellT.Execute(os.Stdout, map[string]interface{}{ - "Name": server.Name, - "Address": server.Address, - "Path": base, - "Shell": c.String("shell"), - "NoProxy": c.Bool("no-proxy"), - }) -} - -var shellT = template.Must(template.New("_").Parse(` -{{- if eq .Shell "fish" -}} -sex -x DOCKER_TLS "1"; -set -x DOCKER_TLS_VERIFY ""; -set -x DOCKER_CERT_PATH {{ printf "%q" .Path }}; -set -x DOCKER_HOST "tcp://{{ .Address }}:2376"; -{{ if .NoProxy -}} -set -x NO_PROXY {{ printf "%q" .Address }}; -{{ end }} -# Run this command to configure your shell: -# eval "$(drone server env {{ .Name }} --shell=fish)" -{{- else if eq .Shell "powershell" -}} -$Env:DOCKER_TLS = "1" -$Env:DOCKER_TLS_VERIFY = "" -$Env:DOCKER_CERT_PATH = {{ printf "%q" .Path }} -$Env:DOCKER_HOST = "tcp://{{ .Address }}:2376" -{{ if .NoProxy -}} -$Env:NO_PROXY = {{ printf "%q" .Address }} -{{ end }} -# Run this command to configure your shell: -# drone server env {{ .Name }} --shell=powershell | Invoke-Expression -{{- else -}} -export DOCKER_TLS=1 -export DOCKER_TLS_VERIFY= -export DOCKER_CERT_PATH={{ .Path }} -export DOCKER_HOST=tcp://{{ .Address }}:2376 -{{ if .NoProxy -}} -export NO_PROXY={{ .Address }} -{{ end }} -# Run this command to configure your shell: -# eval "$(drone server env {{ .Name }})" -{{- end }} -`)) diff --git a/cli/drone/server/server_info.go b/cli/drone/server/server_info.go deleted file mode 100644 index cbd2f7aca..000000000 --- a/cli/drone/server/server_info.go +++ /dev/null @@ -1,60 +0,0 @@ -package server - -import ( - "fmt" - "os" - "text/template" - - "github.com/urfave/cli" - - "github.com/laszlocph/drone-oss-08/cli/drone/internal" -) - -var serverInfoCmd = cli.Command{ - Name: "info", - Usage: "show server details", - ArgsUsage: "", - Action: serverInfo, - Flags: []cli.Flag{ - cli.StringFlag{ - Name: "format", - Usage: "format output", - Value: tmplServerInfo, - Hidden: true, - }, - }, -} - -func serverInfo(c *cli.Context) error { - client, err := internal.NewAutoscaleClient(c) - if err != nil { - return err - } - - name := c.Args().First() - if len(name) == 0 { - return fmt.Errorf("Missing or invalid server name") - } - - server, err := client.Server(name) - if err != nil { - return err - } - - tmpl, err := template.New("_").Parse(c.String("format") + "\n") - if err != nil { - return err - } - return tmpl.Execute(os.Stdout, server) -} - -// template for server information -var tmplServerInfo = `Name: {{ .Name }} -Address: {{ .Address }} -Region: {{ .Region }} -Size: {{.Size}} -State: {{ .State }} -{{ if .Error -}} -Error: {{ .Error }} -{{ end -}} -` diff --git a/cli/drone/server/server_list.go b/cli/drone/server/server_list.go deleted file mode 100644 index 256267001..000000000 --- a/cli/drone/server/server_list.go +++ /dev/null @@ -1,110 +0,0 @@ -package server - -import ( - "fmt" - "os" - "text/tabwriter" - "text/template" - "time" - - "github.com/docker/go-units" - "github.com/urfave/cli" - - "github.com/laszlocph/drone-oss-08/cli/drone/internal" - "github.com/drone/drone-go/drone" -) - -var serverListCmd = cli.Command{ - Name: "ls", - Usage: "list all servers", - ArgsUsage: " ", - Action: serverList, - Flags: []cli.Flag{ - cli.BoolFlag{ - Name: "a", - Usage: "include stopped servers", - }, - cli.BoolFlag{ - Name: "l", - Usage: "list in long format", - }, - cli.BoolTFlag{ - Name: "H", - Usage: "include columne headers", - }, - cli.StringFlag{ - Name: "format", - Usage: "format output", - Value: tmplServerList, - Hidden: true, - }, - cli.BoolFlag{ - Name: "la", - Hidden: true, - }, - }, -} - -func serverList(c *cli.Context) error { - client, err := internal.NewAutoscaleClient(c) - if err != nil { - return err - } - a := c.Bool("a") - l := c.Bool("l") - h := c.BoolT("H") - - if c.BoolT("la") { - l = true - a = true - } - - servers, err := client.ServerList() - if err != nil || len(servers) == 0 { - return err - } - - if l && h { - printLong(servers, a, h) - return nil - } - - tmpl, err := template.New("_").Parse(c.String("format") + "\n") - if err != nil { - return err - } - - for _, server := range servers { - if !a && server.State == "stopped" { - continue - } - tmpl.Execute(os.Stdout, server) - } - return nil -} - -func printLong(servers []*drone.Server, a, h bool) { - w := tabwriter.NewWriter(os.Stdout, 0, 0, 4, ' ', 0) - if h { - fmt.Fprintln(w, "Name\tAddress\tState\tCreated") - } - for _, server := range servers { - if !a && server.State == "stopped" { - continue - } - fmt.Fprintf(w, "%s\t%s\t%s\t%s ago\n", - server.Name, - server.Address, - server.State, - units.HumanDuration( - time.Now().Sub( - time.Unix(server.Created, 0), - ), - ), - ) - } - w.Flush() -} - -// template for server list items -var tmplServerList = `{{ .Name }}` diff --git a/cli/drone/server/server_open.go b/cli/drone/server/server_open.go deleted file mode 100644 index 085a7bfee..000000000 --- a/cli/drone/server/server_open.go +++ /dev/null @@ -1,49 +0,0 @@ -package server - -import ( - "fmt" - "net/url" - - "github.com/pkg/browser" - "github.com/urfave/cli" - - "github.com/laszlocph/drone-oss-08/cli/drone/internal" -) - -// -// support for cadvisor was temporarily disabled, so -// this command has been hidden from the --help menu -// until available. -// - -var serverOpenCmd = cli.Command{ - Name: "open", - Usage: "open server dashboard", - ArgsUsage: "", - Action: serverOpen, - Hidden: true, -} - -func serverOpen(c *cli.Context) error { - client, err := internal.NewAutoscaleClient(c) - if err != nil { - return err - } - - name := c.Args().First() - if len(name) == 0 { - return fmt.Errorf("Missing or invalid server name") - } - - server, err := client.Server(name) - if err != nil { - return err - } - - uri := new(url.URL) - uri.Scheme = "http" - uri.Host = server.Address + ":8080" - uri.User = url.UserPassword("admin", server.Secret) - - return browser.OpenURL(uri.String()) -}