Skip to content

Commit

Permalink
Add alais command completion support (#2)
Browse files Browse the repository at this point in the history
* Add alais command completion support

* Add more alias commands
  • Loading branch information
LinuxSuRen committed Dec 7, 2020
1 parent 4a944e2 commit 1851bc0
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 3 deletions.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,7 @@
# ks

`ks` is a kubectl wrapper for [Kubesphere](https://github.com/kubsphere/kubesphere).

# Install

`brew install linuxsuren/linuxsuren/ks`
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ go 1.15

require (
github.com/linuxsuren/cobra-extension v0.0.3
github.com/linuxsuren/go-cli-alias v0.0.3
github.com/linuxsuren/go-cli-alias v0.0.4-0.20201206154634-de1c259182f2
github.com/spf13/cobra v1.1.1
)
4 changes: 4 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -158,8 +158,12 @@ github.com/linuxsuren/cobra-extension v0.0.2 h1:YVpfOtq4KFHMX8O++v0/+hpMKTWDxpDZ
github.com/linuxsuren/cobra-extension v0.0.2/go.mod h1:UqHi31q7Dj+46nzcVWNZz5Z1JcHBJcmCyPAZRoM8LXo=
github.com/linuxsuren/cobra-extension v0.0.3 h1:06tdJNYM4Wcx6WZPDnz/WLuP2jVdVZ9RLuwlUHIblmg=
github.com/linuxsuren/cobra-extension v0.0.3/go.mod h1:UqHi31q7Dj+46nzcVWNZz5Z1JcHBJcmCyPAZRoM8LXo=
github.com/linuxsuren/go-cli-alias v0.0.3-0.20201206154305-50e05d0cd661 h1:eUaSGzoxvJ2bn3JGovekfTWWzUrYwiTTrRXUp4QNW7g=
github.com/linuxsuren/go-cli-alias v0.0.3-0.20201206154305-50e05d0cd661/go.mod h1:YFz8NiTvpW4664ZH3I7gLvMGnRG6GJY7F0OQ+TigmV0=
github.com/linuxsuren/go-cli-alias v0.0.3 h1:IbqC+4uOTCRM27WCII7Z35pXP4bwqck0J5jg2xmIqr4=
github.com/linuxsuren/go-cli-alias v0.0.3/go.mod h1:l2/nzdvung0zorpCxI1CT+Fuuc/W1sFEWS0jt3/b2ZM=
github.com/linuxsuren/go-cli-alias v0.0.4-0.20201206154634-de1c259182f2 h1:snR7lpsFgGrC+OjME/Kb/6WMbFq3Ie7V7QD2kxfUv64=
github.com/linuxsuren/go-cli-alias v0.0.4-0.20201206154634-de1c259182f2/go.mod h1:YFz8NiTvpW4664ZH3I7gLvMGnRG6GJY7F0OQ+TigmV0=
github.com/linuxsuren/go-cli-plugin v0.0.1/go.mod h1:uyO09KK8otYfDV5LVTfcWX2UbAi3kEz3PrkdfIxnDlg=
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
Expand Down
17 changes: 15 additions & 2 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,18 @@ func main() {
},
}

cmd.AddCommand(ext.NewCompletionCmd(cmd))

var ctx context.Context
if defMgr, err := alias.GetDefaultAliasMgrWithNameAndInitialData(cmd.Name(), getDefault()); err == nil {
ctx = context.WithValue(context.Background(), alias.AliasKey, defMgr)

cmd.AddCommand(aliasCmd.NewRootCommand(ctx))
aliasCmd.RegisterAliasCompletion(ctx, cmd)
} else {
cmd.Println(fmt.Errorf("cannot get default alias manager, error: %v", err))
}

cmd.AddCommand(ext.NewCompletionCmd(cmd))

cmd.SilenceErrors = true
err := cmd.Execute()
if err != nil && strings.Contains(err.Error(), "unknown command") {
Expand Down Expand Up @@ -77,13 +78,25 @@ func getDefault() []alias.Alias {
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 1851bc0

Please sign in to comment.