- this is my first Golang project
- it augments kind, so you are going to have kind installed
- this project is just getting started, don't be too angry yet.
Well I love KinD. It is the best way to do on-machine kubernetes work without much hassle, and no setup. However, there are some things that should be part of the official KinD, yet they aren't.
This project uses Commandline Augmentation to transparently modify the commandline to fit the regular kind version.
In short:
- you call rekind
- rekind translates its own flags and commands to "regular" commands understood by kind natively.
- For example: it knows about Kind Nodeimages and picks the right image for the version you asked it for.
- It adds non-kind commands that involce the use of docker-cli and crictl underneath.
Well i think we might even do this as part of rekind.
One of the drivers for reKinD (other than learning golang) is to make an awesome feature request by showing off cool new flags and commands, showing acceptance by users.
In the longer run, every feature that was introduced by rekind and goes into "normal" kind would be a win.
Not much, right now yet. There is:
rekind create cluster --version=1.24
which will translate to:
rekind create cluster --image=kindest/node:v1.24.7@sha256:577c630ce8e509131eab1aea12c022190978dd2f745aac5eb1fe65c0807eb315
when run with kind version 0.17.
I intend to add support for the following new commands:
rekind get images
rekind sync images
rekind create cluster --version-from=my-other-cluster
This is quite useful if you want to stay in sync with the big cluster version you are running in the cloud.
rekind create cluster --withNamespaces=foo,bar
Helps setting up you cluster with fewer commands.
Even better, copy namespaces from another context:
rekind create cluster --withNamespaces-from=my-other-cluster
Of course, we can do exactly this to other CLIs. How about a "rejava" that allows to run java programs with other, more opinionated defaults?
Contact me on https://www.linkedin.com/in/tonit/ or here on github.