Skip to main content

Extracting Images from Helm Charts

On this page you can read about the how helmper extracts container image references from Helm Charts values.yaml file.

Image Format​

Helmper considers the following elements of an image reference string

  1. registry
  2. repository
  3. name
  4. tag
  5. digest/sha

These values will be combined to one of the following strings:

registry/repository/name:tag
registry/repository/name@digest

The combined strings are parsed with distribution/reference library to check image validity.

Supported sections in values.yaml​

image: "reference:tag"
image: "reference@digest"
...
image:
repository: "docker.io/library/hello-world"
tag: "latest"
...
...
image:
registry: "docker.io"
repository: "library/hello-world"
tag: "latest"
...
...
image:
registry: "docker.io"
repository: "library/hello-world"
tag: "latest"
digest: "sha256:266b191e926f65542fa8daaec01a192c4d292bff79426f47300a046e1bc576fd"
useDigest: true
...

note some charts use sha instead of digest. Helmper consider those two to both refer to the digest of the image

Tested against following Helm Charts​

  • Prometheus
  • Promtail
  • Loki
  • Mimir-Distributed
  • Grafana
  • Cilium
  • Cert-Manager
  • Ingress-Nginx
  • Reflector
  • Velero
  • Kured
  • Keda
  • Trivy-Operator
  • Kubescape-Operator
  • ArgoCD

See more in the test file