{"id":16907725,"url":"https://github.com/mcbenjemaa/helm2tohelm3","last_synced_at":"2026-05-18T11:39:45.172Z","repository":{"id":128369793,"uuid":"257961593","full_name":"mcbenjemaa/helm2tohelm3","owner":"mcbenjemaa","description":"Go script to automate the migration from Helm2 to Helm3","archived":false,"fork":false,"pushed_at":"2020-04-25T16:30:06.000Z","size":19,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-25T15:44:24.655Z","etag":null,"topics":["automation","go","golang","helm","helm3"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mcbenjemaa.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":"2020-04-22T16:43:15.000Z","updated_at":"2022-02-25T18:41:47.000Z","dependencies_parsed_at":"2024-06-05T04:06:47.066Z","dependency_job_id":"6ab08135-7aa4-4fdb-acc0-11e260b1f199","html_url":"https://github.com/mcbenjemaa/helm2tohelm3","commit_stats":null,"previous_names":["medmedchiheb/helm2tohelm3"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcbenjemaa%2Fhelm2tohelm3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcbenjemaa%2Fhelm2tohelm3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcbenjemaa%2Fhelm2tohelm3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcbenjemaa%2Fhelm2tohelm3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mcbenjemaa","download_url":"https://codeload.github.com/mcbenjemaa/helm2tohelm3/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244656735,"owners_count":20488639,"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":["automation","go","golang","helm","helm3"],"created_at":"2024-10-13T18:48:39.897Z","updated_at":"2026-05-18T11:39:40.122Z","avatar_url":"https://github.com/mcbenjemaa.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Helm2ToHelm3\n\nThis small go app to help you migrate from helm2 to helm3,\nit uses the nice plugin: `helm-2to3`.\n\nThe purpose for this app is only for ensuring automation.\nThe migration guide: https://helm.sh/blog/migrate-from-helm-v2-to-helm-v3/\n\n\n### Prerequisite\n\n- Kubernetes cluster (kubectl)\n\n- Helm 2 already has Tiller\n\n- Install Helm 3 (make sure to rename the binary to `helm3` and store it in your path.)\n\n- helm-2to3 plugin: `helm3 plugin install https://github.com/helm/helm-2to3`\n\n\n### Usage:\n\nThe script will run those jobs: \n- backup helm2 data to file.\n- Move configuration to Helm3\n- Migrate Helm releases to Helm3\n- Cleanup.\n\n\nThe script will run the dry-run first then prompt you to select [Yes/No] for any given action, but please be aware that it will run Dryrun for the first Release only when migrating Releases,\nand then after the confirmation of the prompt, it will run all migration without dry-run and without confirmation.\n\nIf you notice something wrong within the dry-run you can stop the script and choose NO.\n\nThe script will create Backup files in the provided location, by default it's the current directoy: e.g. `backup/output-files`. see [output files](backup/output-files/README.md)\n\n### Build and run.\n\nTo build the application:\n\n```\ngo install\n```\n\nRun the script:\n```\nhelm2tohelm3 --context minikube --backup-dir somedir/\n```\n\n\n#### Available options:\n\n| Cli Flag       | Description | Example |\n| -------------- | -------------- |:-----------:|\n| `--context`    | The target cluster to run the migrate on. (default \"minikube\") | `helm2tohelm3 --context minikube`\n| `--restore`    | After creating helm2 Backup you can restore the data the the cluster.  | `helm2tohelm3 --context minikube --restore`\n| `--actions`    | To ignore same actions then this flag is good for you: default to `move-convert-cleanup` (please use the separator between actions `-`)  | `helm2tohelm3 --actions convert-cleanup`\n| `--backup-dir` | The directory where you want to store the backup files, or to load from | `helm2tohelm3 --context minikube --backup-dir backup/output-files`\n| `--reset`      | Reset the created Helm3 releases, this will revoke managed helm3 releases, execute this only when the helm2 still manage the releases.  | `helm2tohelm3 --context minikube--reset`","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcbenjemaa%2Fhelm2tohelm3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmcbenjemaa%2Fhelm2tohelm3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcbenjemaa%2Fhelm2tohelm3/lists"}