YAML shyaml - Wrote a tool about it, here it goes
I’ll keep this brief and on point: I love Rust and yet, I have published so little rust code, and as yet, none that actually saw real usage.
Well today that changes. With many thanks to my former employer, GoDaddy, for assigning copyright of a work product to me, I am pleased to announce the publishing of shyaml.
When I joined GoDaddy, among other duties, I was tasked with keeping their “Legacy” Kubernetes installation alive and running. The team that had built it were all gone, and I was fairly new to Kubernetes, so I had to tread lightly.
As a result, I found myself constantly wishing I could see what kubectl
was
about to do. I was shocked that kubectl
didn’t have a diff mode. In
retrospect, I probably should have just learned Go, and added a –diff switch
to kubectl
. But, I fell back on the tool I know, and I had just written
shyaml
to get my rust chops up. It was just a general CLI manipulation tool
for YAML and JSON at the time. Adding the ability to intelligently diff
Kubernetes objects was pretty straight forward.
So I added a kubediff
command, which tries to show you the real effect a
kubectl apply
command will have before you run it. It’s not perfect, but
it generally works.
And so, I give this tool to the world. I hope to make it even more general purpose, as time permits. But until then, please enjoy the code, and feel free to report issues and open PR’s. Also, join us on the Tools for Humans Slack if you want to chat about it.