This is a tool which does in-place sort of Kubernetes manifests by Kind.
When installing manifests, they should be sorted in a proper order by Kind. For example, Namespace object must be in the first place when installing them.
ksort sorts manfest files in a proper order by Kind.
Sort manifest files in the deploy
directory in the proper order, and output the result to the stdout.
$ ls ./manifests
deployment.yaml ingress.yaml namespace.yaml service.yaml
$ ksort -f ./manifests
To pass the result into the stdin of kubectl apply
command is also convenient.
$ ksort -f ./manifests | kubectl apply -f -
Sort manifests contained the manifest file that is specified.
$ ksort -f ./app.yaml
Sort manifests passed into stdin.
$ cat app.yaml | ksort -f-
You can download an archive file from GitHub Releases, then extract it and install a binary.
Or use go get
as follows:
$ go get github.com/superbrothers/ksort/cmd
You can also use ksort as kubectl plugin. The name as kubectl plugin is sort-manifests
.
-
Install krew that is a plugin manager for kubectl
-
Run:
kubectl krew install sort-manifests
-
Try it out
kubectl sort-manifests -h
This software is released under the MIT License and includes the work that is distributed in the Apache License 2.0.