{"id":13566605,"url":"https://github.com/aslafy-z/helm-git","last_synced_at":"2025-05-16T04:06:43.028Z","repository":{"id":34163480,"uuid":"166056432","full_name":"aslafy-z/helm-git","owner":"aslafy-z","description":"Helm Plugin - Install Helm Charts strait from Git repositories","archived":false,"fork":false,"pushed_at":"2025-03-17T01:22:12.000Z","size":592,"stargazers_count":313,"open_issues_count":13,"forks_count":48,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-08T14:11:06.591Z","etag":null,"topics":["hacktoberfest","helm","helm-plugin","kubernetes"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/aslafy-z.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","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":"2019-01-16T14:45:23.000Z","updated_at":"2025-04-07T13:45:24.000Z","dependencies_parsed_at":"2024-01-14T15:21:13.186Z","dependency_job_id":"e87ff9e7-8a17-4796-8842-e118d98ade16","html_url":"https://github.com/aslafy-z/helm-git","commit_stats":{"total_commits":262,"total_committers":23,"mean_commits":"11.391304347826088","dds":0.7137404580152672,"last_synced_commit":"17ef5ee3b8fbcc251dba8177c63f6225372b10df"},"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aslafy-z%2Fhelm-git","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aslafy-z%2Fhelm-git/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aslafy-z%2Fhelm-git/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aslafy-z%2Fhelm-git/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aslafy-z","download_url":"https://codeload.github.com/aslafy-z/helm-git/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254464896,"owners_count":22075570,"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":["hacktoberfest","helm","helm-plugin","kubernetes"],"created_at":"2024-08-01T13:02:12.943Z","updated_at":"2025-05-16T04:06:38.000Z","avatar_url":"https://github.com/aslafy-z.png","language":"Shell","funding_links":[],"categories":["Shell","kubernetes"],"sub_categories":[],"readme":"# helm-git\n\n![GitHub Actions](https://github.com/aslafy-z/helm-git/actions/workflows/release.yml/badge.svg?branch=master)\n[![License MIT](https://img.shields.io/badge/license-MIT-blue.svg?style=flat)](./LICENSE)\n[![GitHub release](https://img.shields.io/github/tag-date/aslafy-z/helm-git.svg)](https://github.com/aslafy-z/helm-git/releases)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\nThe Helm downloader plugin that provides GIT protocol support.\n\nThis fits multiple use cases:\n\n- Need to keep charts private\n- Doesn't want to package charts before installing\n- Charts in a sub-path, or with another ref than `master`\n- Pull values files directly from (private) Git repository\n\n## Install\n\nUse `helm` CLI to install this plugin:\n\n    helm plugin install https://github.com/aslafy-z/helm-git --version 1.3.0\n\nTo use the plugin, you only need `git`. If you want to build the plugin from source, or you want to contribute\nto the plugin, please see [these instructions](.github/CONTRIBUTING.md).\n\n## Uninstall\n\n    helm plugin remove helm-git\n\n## Usage\n\n`helm-git` will package any chart that is not so you can  directly reference paths to original charts.\n\nHere's the Git urls format, followed by examples:\n\n    git+https://[username[:password]@]provider.com/\u003cpath/to/repo\u003e[@path/to/charts][?[ref=git-ref][\u0026sparse=1][\u0026depupdate=0][\u0026package=0]]\n    git+ssh://[username@]provider.com/\u003cpath/to/repo\u003e[@path/to/charts][?[ref=git-ref][\u0026sparse=1][\u0026depupdate=0][\u0026package=0]]\n    git+file://\u003cpath/to/repo\u003e[@path/to/charts][?[ref=git-ref][\u0026sparse=1][\u0026depupdate=0][\u0026package=0]]\n\n    git+https://github.com/jetstack/cert-manager@deploy/charts?ref=v0.6.2\u0026sparse=0\n    git+ssh://git@github.com/jetstack/cert-manager@deploy/charts?ref=v0.6.2\u0026sparse=1\n    git+ssh://git@github.com/jetstack/cert-manager@deploy/charts?ref=v0.6.2\n    git+https://github.com/istio/istio@install/kubernetes/helm?ref=1.5.4\u0026sparse=0\u0026depupdate=0\n    git+https://github.com/bitnami/charts@bitnami/wordpress?ref=master\u0026sparse=0\u0026depupdate=0\u0026package=0\n    git+https://gitlab.com/one-touch-pipeline/weskit/helm-deployment?ref=ee259f65191cef10855438321ce99e37873918b6\n\nAdd your repository:\n\n    helm repo add cert-manager git+https://github.com/jetstack/cert-manager@deploy/charts?ref=v0.6.2\n\nYou can use it as any other Helm chart repository. Try:\n\n    $ helm search repo cert-manager\n    NAME                                    CHART VERSION   APP VERSION     DESCRIPTION\n    cert-manager/cert-manager               v0.6.6          v0.6.2          A Helm chart for cert-manager\n\n    $ helm install cert-manager/cert-manager --version \"0.6.6\"\n\nFetching also works:\n\n    helm fetch cert-manager/cert-manager --version \"0.6.6\"\n    helm fetch git+https://github.com/jetstack/cert-manager@deploy/charts/cert-manager-v0.6.2.tgz?ref=v0.6.2\n\nPulling value files:\n\n    helm install . -f git+https://github.com/aslafy-z/helm-git@tests/fixtures/example-chart/values.yaml\n\n### Environment variables\n\n**name**|**description**|**default**\n--------|---------------|-----------\n`HELM_GIT_HELM_BIN`|Path to the `helm` binary. If not set, `$HELM_BIN` will be used.|`helm`\n`HELM_GIT_DEBUG`|Setting this value to `1` increases `helm-git` log level. |`0`\n`HELM_GIT_TRACE`|Setting this value to `1` increases `helm-git` log level to the maximum and keeps temporary dirs at shutdown. |`0`\n`HELM_GIT_REPO_CACHE`|Path to use as a Git repository cache to avoid fetching repos more than once. If empty, caching of Git repositories is disabled.|`\"\"`\n`HELM_GIT_CHART_CACHE`|Path to use as a Helm chart cache to avoid re-packaging/re-indexing charts. If empty, caching of Helm charts is disabled.|`\"\"`\n\n### Arguments\n\n**name**|**description**|**default**\n--------|---------------|-----------\n`ref`|Set git ref to a branch or tag. Also works for commits with `sparse=0`.|Discover from remote\n`sparse`|Set git strategy to sparse. Will try to fetch only the needed commits for the target path. If set to `0`, default git strategy will be used.|`1`\n`depupdate`|Run `helm dependency update` on the retrieved chart. If set to `0`, this step is skipped.|`1`\n`package`|Run `helm package` on the retrieved chart. If set to `0`, this step is skipped.|`1`\n\n### Note on Git authentication\n\nAs this plugin uses `git` CLI to clone repos. You can configure private access in the same manner that with any `git` repo.\n\n- **using ssh**: Start a [ssh-agent daemon](https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/#adding-your-ssh-key-to-the-ssh-agent)\n- **using https**: Use a [credentials helper](https://git-scm.com/docs/gitcredentials)\n\n### Note on SSH relative paths\n\nHelm parses the input URL before passing it down to the Helm downloader plugins (which is the type of this `helm-git` plugin). It does so by using the `net/url.Parse` Golang method, which does not support the full IETF specification. Specifically, it does not support `:` as the first path separator like in `git+ssh://git@github.com:aslafy-z/helm-git` as Git supports it. This means that you'll have to use an absolute path instead by using the `/` separator as in `git+ssh://git@github.com/aslafy-z/helm-git`. This should not be an issue in most case as major hosts supports the use of absolute paths instead of relative ones.\nIf this becomes an issue for you, please open an issue and we may implement something to fill the gap until Golang or Helm does so.\n\n## Troubleshooting\n\nYou can enable debug output by setting `HELM_GIT_DEBUG` environment variable to `1`:\n\n    HELM_GIT_DEBUG=1 helm repo add cert-manager git+https://github.com/jetstack/cert-manager@deploy/charts?ref=v0.6.2\n\nIn order to debug in a more efficient maneer, I advise you use `helm fetch` instead of `helm repo add`.\n\nYou can enable more advanced output by setting `HELM_GIT_TRACE` environment variable to `1`.\n\n## Contributing\n\nContributions are welcome! Please see [these instructions](.github/CONTRIBUTING.md) that will help you to develop the plugin.\n\n## Alternatives\n\n- \u003chttps://github.com/diwakar-s-maurya/helm-git\u003e\n- \u003chttps://github.com/sagansystems/helm-github\u003e\n\n## License\n\n[Apache License 2.0](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faslafy-z%2Fhelm-git","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faslafy-z%2Fhelm-git","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faslafy-z%2Fhelm-git/lists"}