tmax released! 支持自定義參數(shù)等重磅功能

tmax v0.1?released! 在此之前收集了一些用戶的使用反饋,針對性地實現(xiàn)了其中呼聲比較高的功能,最終的 released 版本除了上一篇介紹過的 direct mode,search mode,interactive mode 之外,還做了以下工作:
direct mode 支持模板參數(shù)和自定義參數(shù)
自定義參數(shù)
這個功能是首次介紹
tmax后使用過的用戶最想要的功能,因為這樣可以不再局限于tmax中固定的短命令,在需要參數(shù)的時候也能夠發(fā)揮tmax的作用,極大地拓展了tmax的使用場景。讓我們通過幾個 demo 來看下自定義參數(shù)的威力:首先假設(shè)我們在配置文件
~/.tmax.yaml中定義了下面的短命令
現(xiàn)在想看下某個 pod 的簡單信息,只需要執(zhí)行:
tmax?getpod?myapp-deploymyapp-deploy就是自定義參數(shù),你甚至可以在后面繼續(xù)添加參數(shù):tmax?getpod?myapp-deploy?-n?YOUR_NAMESPACE
等同于執(zhí)行
kubectl get pod myapp-deploy -owide -n YOUR_NAMESPACE, 大家可以配合需要的自定義參數(shù)自由發(fā)揮定制屬于自己的tmax配置文件。模板參數(shù)
大家應(yīng)該注意到了,自定義參數(shù)只能在
tmax命令后面追加,那假如想要在中間添加可變參數(shù)就不行了。比如,你想為一個 k8s 節(jié)點打一個污點,而這個污點是你司固定常用的,就要執(zhí)行kubectl taint node node-1.1.1.1 reserved=mynode:NoSchedule,那節(jié)點的名稱就會成為一個可變參數(shù),而污點名稱又是固定不變的,如果想要最大限度地偷懶
,就是只輸入節(jié)點名稱來完成命令。不要慌,tmax支持模板參數(shù),對于上面的命令我們可以在~/.tmax.yaml中添加:
只需執(zhí)行下面的內(nèi)容即可完成打污點的命令
tmax?taintnode?-n?YOUR_NODE_NAME或者在模板里你可以配置某個參數(shù)的默認(rèn)值,比如在本地你經(jīng)常要操作的 k8s namespace 是 test,就可以這樣寫一個配置,
kubectl get pod -owide -n {{.ns | default "test"}}執(zhí)行
tmax getpod myapp-deploy就等同于kubectl get pod -owide myapp-deploy -ntest。假如你要訪問的 pod 不在 test namespace 下,可以指定 ns:tmax getpod myapp-deploy -ns YOU_NAMESPACE。大家寫過 golang 的應(yīng)該一眼就看出
{{.n}}就是 go template ,所以我們稱之為模板參數(shù),有了這個功能后,tmax的可玩性就很高了,一些很復(fù)雜的命令可以變得可定制。優(yōu)化配置文件的存儲格式,重構(gòu)
tmax add命令配置文件的存儲格式以及各字段的含義如下

現(xiàn)在你可以通過
tmax add group.shortCmd "fullCmd"的方式來新增一個命令到配置文件,比如:tmax?add?k8s.allpod?"kubectl?get?pod?-A"
就將 group 為 k8s ,shortCmd 為 allpod,fullCmd 為 kubectl get pod -A 的內(nèi)容添加到配置文件了

優(yōu)化了代碼結(jié)構(gòu)
之前的代碼聚焦功能實現(xiàn),沒有注意代碼規(guī)范和結(jié)構(gòu),release 版本進行了一些優(yōu)化。
更快速的安裝方式
mac os
brew?tap?hantmac/tap?&&?brew?install?--build-from-source?tmaxlinux
wget?https://github.com/hantmac/tmax/releases/download/v0.1.0/tmax_v0.1.0_linux_x86_64.tar.gz?&&?tar?-zxvf?tmax_v0.1.0_linux_x86_64.tar.gz?-C?/usr/local/bin?&&?chmod?+x?/usr/local/bin/tmaxwindows
windows 平臺未測試,可下載源碼自行
make
以上就是本次tmax v0.1?版本的新功能介紹,項目 repo: https://github.com/hantmac/tmax ,歡迎大家下載、試用、反饋,在此特別感謝 Guang Jiong Lou (https://github.com/27149chen) 的 contributions ,他為新功能的設(shè)計與實現(xiàn)貢獻了大多數(shù)代碼。
想要了解 tmax 的完整介紹,可以閱讀?tmax-你從未用過的如此鋒利的命令行操作神器?
官方資訊*最新技術(shù)*獨家解讀
