{"id":17225372,"url":"https://github.com/yeahdongcn/kustohelmize","last_synced_at":"2025-03-22T18:34:21.850Z","repository":{"id":46605518,"uuid":"515052621","full_name":"yeahdongcn/kustohelmize","owner":"yeahdongcn","description":"Tired of creating Helm Charts from scratch? Try Kustohelmize today!","archived":false,"fork":false,"pushed_at":"2024-08-27T08:09:17.000Z","size":294,"stargazers_count":14,"open_issues_count":0,"forks_count":2,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-10-16T04:13:27.956Z","etag":null,"topics":["helm","kubernetes","kustomize"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yeahdongcn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-07-18T05:55:35.000Z","updated_at":"2024-09-16T17:41:17.000Z","dependencies_parsed_at":"2023-02-08T17:00:58.254Z","dependency_job_id":"9763002e-e07d-4fdd-b01a-478470db082a","html_url":"https://github.com/yeahdongcn/kustohelmize","commit_stats":{"total_commits":115,"total_committers":4,"mean_commits":28.75,"dds":"0.25217391304347825","last_synced_commit":"d0e3c3e3dee7d4dd3f0d01f38515f1ccd59dd1ce"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yeahdongcn%2Fkustohelmize","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yeahdongcn%2Fkustohelmize/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yeahdongcn%2Fkustohelmize/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yeahdongcn%2Fkustohelmize/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yeahdongcn","download_url":"https://codeload.github.com/yeahdongcn/kustohelmize/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221832384,"owners_count":16888232,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["helm","kubernetes","kustomize"],"created_at":"2024-10-15T04:13:22.588Z","updated_at":"2025-03-22T18:34:21.833Z","avatar_url":"https://github.com/yeahdongcn.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kustohelmize\n[![Go Report Card](https://goreportcard.com/badge/github.com/yeahdongcn/kustohelmize)](https://goreportcard.com/report/github.com/yeahdongcn/kustohelmize)\n[![Contributors](https://img.shields.io/github/contributors/yeahdongcn/kustohelmize)](https://github.com/yeahdongcn/kustohelmize/graphs/contributors)\n![GitHub last commit](https://img.shields.io/github/last-commit/yeahdongcn/kustohelmize/main)\n![GitHub license](https://img.shields.io/github/license/yeahdongcn/kustohelmize)\n\nKustohelmize allows you to easily create a Helm Chart from a [kustomized](https://github.com/kubernetes-sigs/kustomize) YAML file.\n\n- [Kustohelmize](#kustohelmize)\n  - [CLI](#cli)\n    - [kustohelmize](#kustohelmize-1)\n    - [kustohelmize create](#kustohelmize-create)\n  - [User Scenario](#user-scenario)\n    - [Working with kustomize](#working-with-kustomize)\n  - [Community](#community)\n\n## CLI\n\n### kustohelmize\n\n```sh\n❯ ./kustohelmize\nAutomate Helm chart creation from any existing Kubernetes manifests\n\nUsage:\n  kustohelmize [command]\n\nAvailable Commands:\n  completion  Generate the autocompletion script for the specified shell\n  create      Create a chart from a given YAML file\n  help        Help about any command\n  version     Print the client version information\n\nFlags:\n  -h, --help   help for kustohelmize\n\nUse \"kustohelmize [command] --help\" for more information about a command.\n```\n\n### kustohelmize create\n\n```sh\n❯ ./kustohelmize create --help\nCreate a new Helm chart\n\nUsage:\n  kustohelmize create NAME [flags]\n\nFlags:\n  -a, --app-version string                     The version of the application enclosed inside of this chart\n  -d, --description string                     A one-sentence description of the chart\n  -f, --from string                            The path to a kustomized YAML file\n  -h, --help                                   Help for create\n  -k, --kubernetes-split-yaml-command string   Command to split Kubernetes YAML (default \"kubernetes-split-yaml\")\n  -p, --starter string                         The name or absolute path to Helm starter scaffold\n  -s, --suppress-namespace                     Suppress creation of namespace resource, which Kustomize will emit. RBAC bindings for SAs will be to {{ .Release.Namespace }}\n  -v, --version string                         A SemVer 2 conformant version string of the chart\n```\n\n## User Scenario\n\n### Working with [kustomize](https://kustomize.io/)\n\nSuppose you have a project created by [Operator SDK](https://sdk.operatorframework.io/). The `Makefile` should look like this:\n\n```Makefile\n.PHONY: deploy\ndeploy: manifests kustomize ## Deploy controller to the K8s cluster specified in ~/.kube/config.\n    cd config/manager \u0026\u0026 $(KUSTOMIZE) edit set image controller=${IMAGE}\n    $(KUSTOMIZE) build config/default | kubectl apply -f -\n```\n\nRunning `make deploy` will create the YAML file with `kustomize` and deploy it into the cluster. This might be sufficient during development but may not be very helpful for end-users.\n\nWe can slightly modify the target and update it like this:\n\n```Makefile\n.PHONY: helm\nhelm: manifests kustomize kustohelmize\n    cd config/manager \u0026\u0026 $(KUSTOMIZE) edit set image controller=${IMAGE}\n    $(KUSTOMIZE) build config/default --output config/production.yaml\n    $(KUSTOHELMIZE) --from=config/production.yaml create mychart\n```\n\nThis will create a Helm chart with default configurations. The directory structure will look like this:\n\n```\n.\n├── mychart\n├── mychart-generated\n└── mychart.config\n```\n\nA complete example from scratch can be found in the [examples](https://github.com/yeahdongcn/kustohelmize/tree/main/examples) directory.\n\nYou can use this tool in an ad-hoc manner against any YAML file containing multiple resources to generate a Helm chart skeleton simply by pointing `--from` at that file.\n\n## Community\n\n* [Open an issue](https://github.com/yeahdongcn/kustohelmize/issues/new)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyeahdongcn%2Fkustohelmize","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyeahdongcn%2Fkustohelmize","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyeahdongcn%2Fkustohelmize/lists"}