diff --git a/README.md b/README.md index b3b0deb..8ed69fe 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,64 @@ # helm-import -A tool to take a deployed set of kubernetes resources and turn them into a helm release. - -Only works with helm3 > 3.2.0 \ No newline at end of file +A tool to take a deployed set of kubernetes resources and turn them into a helm release. + +Only works with helm3 > 3.2.0 + +Only compiles with Go < 1.15 + +And it's a pain to cross-compile, and my ci is currently broken + +You can add jq commands to tweak the generation. + +You run it from the chart folder (the one with `Chart.yaml`) in it + +It's fairly opinionated but that can be turned off. + +There's some kinda hacky stuff in the code related to json->yaml->helm stuff. + +so... erm here's a docker command that worked for me : + +``` +docker run -v $(pwd):/context -v $HOME/.kube:/root/.kube --rm -it -w /context/ imartyn/helm-import /helm-import -namespace some-namespace -deployment some-deployment +``` + +and here's the help screen : +``` +Usage of helm-import: + -configmap value + configmap to import into the helm chart (can be specified multiple times) + -configmapJqCommands value + extra jq commands to apply to configmaps + -deployment value + deployment to import into the helm chart (can be specified multiple times) + -deploymentJqCommands value + extra jq commands to apply to deployments + -globalJqCommands value + extra jq commands to apply to all k8s objects + -ingress value + ingress to import into the helm chart (can be specified multiple times) + -ingressJqCommands value + extra jq commands to apply to ingresses + -kubeconfig string + (optional) absolute path to the kubeconfig file (default "/home/martyn/.kube/config") + -lessopinions + just import the objects into files, don't get opinionated + -namespace string + namespace to work in (default "default") + -nobuiltinmods + don't do the built-in modifications, only ones passed in by user + -secret value + secret to import into the helm chart (can be specified multiple times) + -secretJqCommands value + extra jq commands to apply to secrets + -service value + service to import into the helm chart (can be specified multiple times) + -serviceJqCommands value + extra jq commands to apply to services + +``` + +TODO: +- [ ] label the resources +- [ ] make ci work again +- [ ] cross-compile, now I know it was a go-1.15 issue first time