Skip to content

Commit

Permalink
Add more alias commands for editing
Browse files Browse the repository at this point in the history
  • Loading branch information
LinuxSuRen committed Dec 8, 2020
1 parent 26eb9c9 commit 66a0ecd
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 44 deletions.
45 changes: 45 additions & 0 deletions default.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package main

import alias "github.com/linuxsuren/go-cli-alias/pkg"

func getDefault() []alias.Alias {
return []alias.Alias{{
Name: "pod", Command: "-n kubesphere-system get pod -w",
}, {
Name: "j-edit", Command: "-n kubesphere-devops-system edit deploy/ks-jenkins",
}, {
Name: "j-on", Command: "-n kubesphere-devops-system scale deploy/ks-jenkins --replicas=1",
}, {
Name: "j-off", Command: "-n kubesphere-devops-system scale deploy/ks-jenkins --replicas=0",
}, {
Name: "j-log", Command: "-n kubesphere-devops-system logs deploy/ks-jenkins --tail=50 -f",
}, {
Name: "ctl-edit", Command: "-n kubesphere-system edit deploy/ks-controller-manager",
}, {
Name: "ctl-log", Command: "-n kubesphere-system logs deploy/ks-controller-manager --tail 50 -f",
}, {
Name: "ctl-reset", Command: `-n kubesphere-system patch deploy ks-controller-manager --type=json -p='[{"op":"replace","path":"/spec/template/spec/containers/0/image","value":"kubesphere/ks-controller-manager:v3.0.0"}]'`,
}, {
Name: "ctl-reset-dev", Command: `-n kubesphere-system patch deploy ks-controller-manager --type=json -p='[{"op":"replace","path":"/spec/template/spec/containers/0/image","value":"kubespheredev/ks-controller-manager:latest"}]'`,
}, {
Name: "api-edit", Command: "-n kubesphere-system edit deploy/ks-apiserver",
}, {
Name: "api-log", Command: "-n kubesphere-system logs deploy/ks-apiserver --tail 50 -f",
}, {
Name: "api-reset", Command: `-n kubesphere-system patch deploy ks-apiserver --type=json -p='[{"op":"replace","path":"/spec/template/spec/containers/0/image","value":"kubesphere/ks-apiserver:v3.0.0"}]'`,
}, {
Name: "api-reset-dev", Command: `-n kubesphere-system patch deploy ks-apiserver --type=json -p='[{"op":"replace","path":"/spec/template/spec/containers/0/image","value":"kubespheredev/ks-apiserver:latest"}]'`,
}, {
Name: "devops-enable", Command: `-n kubesphere-system patch cc ks-installer -p '{"spec":{"devops":{"enabled":true}}}' --type="merge"`,
}, {
Name: "devops-disable", Command: `-n kubesphere-system patch cc ks-installer -p '{"spec":{"devops":{"enabled":false}}}' --type="merge"`,
}, {
Name: "install-log", Command: `-n kubesphere-system logs deploy/ks-installer --tail 50 -f`,
}, {
Name: "console-edit", Command: `-n kubesphere-system edit deploy ks-console`,
}, {
Name: "console-reset", Command: `-n kubesphere-system patch deploy ks-console --type=json -p='[{"op":"replace","path":"/spec/template/spec/containers/0/image","value":"kubesphere/ks-console:v3.0.0"}]'`,
}, {
Name: "console-reset-dev", Command: `-n kubesphere-system patch deploy ks-console --type=json -p='[{"op":"replace","path":"/spec/template/spec/containers/0/image","value":"kubespheredev/ks-console:latest"}]'`,
}}
}
57 changes: 13 additions & 44 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,55 +51,24 @@ func main() {
var err error
if defMgr, err = alias.GetDefaultAliasMgrWithNameAndInitialData(cmd.Name(), getDefault()); err == nil {
ctx = context.WithValue(context.Background(), alias.AliasKey, defMgr)
var gitBinary string
var targetCmd []string
env := os.Environ()

if gitBinary, err = exec.LookPath("kubectl"); err != nil {
panic("cannot find kubectl")
}

if ok, redirect := aliasCmd.RedirectToAlias(ctx, args); ok {
env := os.Environ()
var gitBinary string
if gitBinary, err = exec.LookPath("kubectl"); err == nil {
syscall.Exec(gitBinary, append([]string{"kubectl"}, redirect...), env)
}
targetCmd = append([]string{"kubectl"}, redirect...)

//fmt.Println("the real command is:", strings.Join(targetCmd, " "))
} else {
env := os.Environ()
var gitBinary string
if gitBinary, err = exec.LookPath("kubectl"); err == nil {
syscall.Exec(gitBinary, append([]string{"kubectl"}, args...), env)
}
targetCmd = append([]string{"kubectl"}, args...)
}
_ = syscall.Exec(gitBinary, targetCmd, env) // ignore the errors due to we've no power to deal with it
} else {
err = fmt.Errorf("cannot get default alias manager, error: %v", err)
}
}
}

func getDefault() []alias.Alias {
return []alias.Alias{{
Name: "pod", Command: "-n kubesphere-system get pod -w",
}, {
Name: "j-on", Command: "-n kubesphere-devops-system scale deploy/ks-jenkins --replicas=1",
}, {
Name: "j-off", Command: "-n kubesphere-devops-system scale deploy/ks-jenkins --replicas=0",
}, {
Name: "j-log", Command: "-n kubesphere-devops-system logs deploy/ks-jenkins --tail=50 -f",
}, {
Name: "ctl-log", Command: "-n kubesphere-system logs deploy/ks-controller-manager --tail 50 -f",
}, {
Name: "ctl-reset", Command: `-n kubesphere-system patch deploy ks-controller-manager --type=json -p='[{"op":"replace","path":"/spec/template/spec/containers/0/image","value":"kubesphere/ks-controller-manager:v3.0.0"}]'`,
}, {
Name: "ctl-reset-dev", Command: `-n kubesphere-system patch deploy ks-controller-manager --type=json -p='[{"op":"replace","path":"/spec/template/spec/containers/0/image","value":"kubespheredev/ks-controller-manager:latest"}]'`,
}, {
Name: "api-log", Command: "-n kubesphere-system logs deploy/ks-apiserver --tail 50 -f",
}, {
Name: "api-reset", Command: `-n kubesphere-system patch deploy ks-apiserver --type=json -p='[{"op":"replace","path":"/spec/template/spec/containers/0/image","value":"kubesphere/ks-apiserver:v3.0.0"}]'`,
}, {
Name: "api-reset-dev", Command: `-n kubesphere-system patch deploy ks-apiserver --type=json -p='[{"op":"replace","path":"/spec/template/spec/containers/0/image","value":"kubespheredev/ks-apiserver:latest"}]'`,
}, {
Name: "devops-enable", Command: `-n kubesphere-system patch cc ks-installer -p '{"spec":{"devops":{"enabled":true}}}' --type="merge"`,
}, {
Name: "devops-disable", Command: `-n kubesphere-system patch cc ks-installer -p '{"spec":{"devops":{"enabled":false}}}' --type="merge"`,
}, {
Name: "install-log", Command: `-n kubesphere-system logs deploy/ks-installer --tail 50 -f`,
}, {
Name: "console-reset", Command: `-n kubesphere-system patch deploy ks-console --type=json -p='[{"op":"replace","path":"/spec/template/spec/containers/0/image","value":"kubesphere/ks-console:v3.0.0"}]'`,
}, {
Name: "console-reset-dev", Command: `-n kubesphere-system patch deploy ks-console --type=json -p='[{"op":"replace","path":"/spec/template/spec/containers/0/image","value":"kubespheredev/ks-console:latest"}]'`,
}}
}

0 comments on commit 66a0ecd

Please sign in to comment.