# 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 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