Helm Dependency

helm dependency

manage a chart’s dependencies

Synopsis

Manage the dependencies of a chart.

Helm charts store their dependencies in ‘charts/‘. For chart developers, it is often easier to manage dependencies in ‘Chart.yaml’ which declares all dependencies.

The dependency commands operate on that file, making it easy to synchronize between the desired dependencies and the actual dependencies stored in the ‘charts/‘ directory.

For example, this Chart.yaml declares two dependencies:

  1. # Chart.yaml
  2. dependencies:
  3. - name: nginx
  4. version: "1.2.3"
  5. repository: "https://example.com/charts"
  6. - name: memcached
  7. version: "3.2.1"
  8. repository: "https://another.example.com/charts"

The ‘name’ should be the name of a chart, where that name must match the name in that chart’s ‘Chart.yaml’ file.

The ‘version’ field should contain a semantic version or version range.

The ‘repository’ URL should point to a Chart Repository. Helm expects that by appending ‘/index.yaml’ to the URL, it should be able to retrieve the chart repository’s index. Note: ‘repository’ can be an alias. The alias must start with ‘alias:’ or ‘@’.

Starting from 2.2.0, repository can be defined as the path to the directory of the dependency charts stored locally. The path should start with a prefix of “file://“. For example,

  1. # Chart.yaml
  2. dependencies:
  3. - name: nginx
  4. version: "1.2.3"
  5. repository: "file://../dependency_chart/nginx"

If the dependency chart is retrieved locally, it is not required to have the repository added to helm by “helm add repo”. Version matching is also supported for this case.

If you want to reuse a chart multiple times you have to add an alias for it.

  1. # Chart.yaml
  2. dependencies:
  3. - name: nginx
  4. version: "1.2.3"
  5. repository: "file://../dependency_chart/nginx"
  6. alias: nginx-alias

Options

  1. -h, --help help for dependency

Options inherited from parent commands

  1. --burst-limit int client-side default throttling limit (default 100)
  2. --debug enable verbose output
  3. --kube-apiserver string the address and the port for the Kubernetes API server
  4. --kube-as-group stringArray group to impersonate for the operation, this flag can be repeated to specify multiple groups.
  5. --kube-as-user string username to impersonate for the operation
  6. --kube-ca-file string the certificate authority file for the Kubernetes API server connection
  7. --kube-context string name of the kubeconfig context to use
  8. --kube-insecure-skip-tls-verify if true, the Kubernetes API server's certificate will not be checked for validity. This will make your HTTPS connections insecure
  9. --kube-tls-server-name string server name to use for Kubernetes API server certificate validation. If it is not provided, the hostname used to contact the server is used
  10. --kube-token string bearer token used for authentication
  11. --kubeconfig string path to the kubeconfig file
  12. -n, --namespace string namespace scope for this request
  13. --registry-config string path to the registry config file (default "~/.config/helm/registry/config.json")
  14. --repository-cache string path to the file containing cached repository indexes (default "~/.cache/helm/repository")
  15. --repository-config string path to the file containing repository names and URLs (default "~/.config/helm/repositories.yaml")

SEE ALSO

Auto generated by spf13/cobra on 18-Jan-2023