Package: helm-upgrade
helm-upgradeDo you manage a Helm Chart that has dependencies on other Helm Charts?
Are you fed up of manually updating these dependencies?
Then this is the tool for you!helm-upgradeis a Python command line interface (CLI) that automatically updates the dependencies of local Helm Charts.This tool was inspired bybump-helm-deps-action.Table of Contents:rocket: Installation:snake:pip:wrench: Manual:recycle: Usage:wheel_of_dharma: Remote Helm Charts:white_check_mark: Running Tests:sparkles: Contributing:rocket: InstallationIt's recommended to use Python version 3.8 with this tool.:snake:pippipinstallhelm-upgrade:wrench: ManualFirst of all, clone this repository and change into it.gitclonehttps://github.com/sgibson91/helm-upgrade.gitcdhelm-upgradeUse Python to install requirements and the package.
Python 3.8 is recommended.python-mpipinstall.Test the installation by calling the help page.helm-upgrade--help:recycle: Usageusage: helm-upgrade [-h] [--dry-run] chart_path dependencies

Update the dependencies of a local Helm Chart in a project repository.

positional arguments:
  chart_path    Path to the file containing the dependencies of the local Helm Chart to
                be updated.
  dependencies  A dictionary of Helm Chart dependencies and their host repo URLs. E.g.
                '{"nginx-ingress":
                "https://raw.githubusercontent.com/helm/charts/master/stable/nginx-
                ingress/Chart.yaml"}'

optional arguments:
  -h, --help    show this help message and exit
  --dry-run     Perform a dry run of the update. Don't write the changes to a file.helm-upgradewill then:read the current versions of your dependencies from the file you specify,find the latest versions of your desired dependencies from the URLs provided (in JSON schema) to thedependenciesargument,compare whether these versions are equal,if the versions are not equal (and the--dry-runflag has not been set), your helm chart dependencies will be overwritten with the new chart versions.:wheel_of_dharma: Remote Helm Chartshelm-upgradecurrently recognises chart versions from three types of hosts.AChart.yamlfile from another GitHub repository.
These URLs end with "/Chart.yaml".For example,https://raw.githubusercontent.com/helm/charts/master/stable/nginx-ingress/Chart.yamlA repository of chart versions hosted on GitHub pages.
These URLs contain "/gh-pages/".For example,https://raw.githubusercontent.com/jupyterhub/helm-chart/gh-pages/index.yamlVersions listed on a GitHub Releases page.
These URLs end with "/releases/latest" and usesBeautifulSoupto search the html.For example,https://github.com/jetstack/cert-manager/releases/latest:white_check_mark: Running TestsTo run the test suite, you must first following themanual installation instructions.
Once completed, the test suite can be run as follows:python-mpytest-vvvTo see code coverage of the test suite, run the following:python-mcoveragerun-mpytest-vvv
coveragereportAn interactive HTML version of the report can be accessed by running the following:coveragehtmlAnd then opening thehtmlcov/index.htmlfile in a browser window.:sparkles: Contributing:tada: Thank you for wanting to contribute! :tada:
Make sure to read ourCode of ConductandContributing Guidelinesto get you started.