tmax released! 支持自定义参数等重磅功能
共 2138字,需浏览 5分钟
·
2021-01-31 01:04
tmax v0.1 released! 在此之前收集了一些用户的使用反馈,针对性地实现了其中呼声比较高的功能,最终的 released 版本除了上一篇介绍过的 direct mode
,search mode
,interactive mode
之外,还做了以下工作:
direct mode 支持模板参数和自定义参数
自定义参数
这个功能是首次介绍
tmax
后使用过的用户最想要的功能,因为这样可以不再局限于tmax
中固定的短命令,在需要参数的时候也能够发挥tmax
的作用,极大地拓展了tmax
的使用场景。让我们通过几个 demo 来看下自定义参数的威力:首先假设我们在配置文件
~/.tmax.yaml
中定义了下面的短命令现在想看下某个 pod 的简单信息,只需要执行:
tmax getpod myapp-deploy
myapp-deploy
就是自定义参数,你甚至可以在后面继续添加参数:tmax getpod myapp-deploy -n YOUR_NAMESPACE
等同于执行
kubectl get pod myapp-deploy -owide -n YOUR_NAMESPACE
, 大家可以配合需要的自定义参数自由发挥定制属于自己的tmax
配置文件。模板参数
大家应该注意到了,自定义参数只能在
tmax
命令后面追加,那假如想要在中间添加可变参数就不行了。比如,你想为一个 k8s 节点打一个污点,而这个污点是你司固定常用的,就要执行kubectl taint node node-1.1.1.1 reserved=mynode:NoSchedule
,那节点的名称就会成为一个可变参数,而污点名称又是固定不变的,如果想要最大限度地偷懒,就是只输入节点名称来完成命令。不要慌,tmax
支持模板参数,对于上面的命令我们可以在~/.tmax.yaml
中添加:只需执行下面的内容即可完成打污点的命令
tmax taintnode -n YOUR_NODE_NAME
或者在模板里你可以配置某个参数的默认值,比如在本地你经常要操作的 k8s namespace 是 test,就可以这样写一个配置,
kubectl get pod -owide -n {{.ns | default "test"}}
执行
tmax getpod myapp-deploy
就等同于kubectl get pod -owide myapp-deploy -ntest
。假如你要访问的 pod 不在 test namespace 下,可以指定 ns:tmax getpod myapp-deploy -ns YOU_NAMESPACE
。大家写过 golang 的应该一眼就看出
{{.n}}
就是 go template ,所以我们称之为模板参数,有了这个功能后,tmax
的可玩性就很高了,一些很复杂的命令可以变得可定制。优化配置文件的存储格式,重构
tmax add
命令配置文件的存储格式以及各字段的含义如下
现在你可以通过
tmax add group.shortCmd "fullCmd"
的方式来新增一个命令到配置文件,比如:tmax add k8s.allpod "kubectl get pod -A"
就将 group 为 k8s
,shortCmd 为 allpod
,fullCmd 为 kubectl get pod -A
的内容添加到配置文件了
优化了代码结构
之前的代码聚焦功能实现,没有注意代码规范和结构,release 版本进行了一些优化。
更快速的安装方式
mac os
brew tap hantmac/tap && brew install --build-from-source tmax
linux
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/tmax
windows
windows 平台未测试,可下载源码自行
make
以上就是本次tmax v0.1
版本的新功能介绍,项目 repo: https://github.com/hantmac/tmax ,欢迎大家下载、试用、反馈,在此特别感谢 Guang Jiong Lou (https://github.com/27149chen) 的 contributions ,他为新功能的设计与实现贡献了大多数代码。
想要了解 tmax 的完整介绍,可以阅读 tmax-你从未用过的如此锋利的命令行操作神器
官方资讯*最新技术*独家解读