Helm

kind: helm

Description

The helm crawler looks recursively for all Helm chart from a specific root directory. Then for each of them, it tries to update both Helm Chart dependencies and docker images specified in values.yaml.

Regarding Docker image updates, Updatecli looks for the following pattern

image:
  repository: ghcr.io/updatecli/updatecli
  tag: 0.37.0

or

images:
  backend:
      repository: ghcr.io/updatecli/updatemonitor
      tag: 0.1.0
  front:
      repository: ghcr.io/updatecli/updatemonitor-ui
      tag: 0.1.0

This crawler can be enabled either automatically with default behavior by running updatecli diff --experimental from a directory containing the files to update. Or by providing a manifest.

Manifests

Parameters

NameTypeDescriptionRequired
authsobjectauths provides a map of registry credentials where the key is the registry URL without scheme if empty, updatecli relies on OCI credentials such as the one used by Docker.
digestbooleandigest provides a parameter to specify if the generated manifest should use a digest on top of the tag when updating container.
ignorearrayIgnore specifies rule to ignore Helm chart update.
    containersobjectContainers specifies a list of containers pattern.
    dependenciesobjectDependencies specifies a list of dependencies pattern.
    pathstringPath specifies a Helm chart path pattern, the pattern requires to match all of name, not just a subpart of the path.
ignorechartdependencybooleanignorechartdependency disables Helm chart dependencies update when set to true
ignorecontainerbooleanignorecontainer disables OCI container tag update when set to true
onlyarrayonly specify required rule(s) to restrict Helm chart update.
    containersobjectContainers specifies a list of containers pattern.
    dependenciesobjectDependencies specifies a list of dependencies pattern.
    pathstringPath specifies a Helm chart path pattern, the pattern requires to match all of name, not just a subpart of the path.
rootdirstringrootdir defines the root directory used to recursively search for Helm Chart
versionfilterobject

versionfilter provides parameters to specify the version pattern used when generating manifest.

	kind - semver
		versionfilter of kind `semver` uses semantic versioning as version filtering
		pattern accepts one of:
			`patch` - patch only update patch version
			`minor` - minor only update minor version
			`major` - major only update major versions
			`a version constraint` such as `>= 1.0.0`

	kind - regex
		versionfilter of kind `regex` uses regular expression as version filtering
		pattern accepts a valid regular expression

	example:
	```
		versionfilter:
			kind: semver
			pattern: minor
	```

	and its type like regex, semver, or just latest.
    kindstringspecifies the version kind such as semver, regex, or latest
    patternstringspecifies the version pattern according the version kind
    strictbooleanstrict enforce strict versioning rule. Only used for semantic versioning at this time
versionincrementstring[target] Defines if a Chart changes, triggers, or not, a Chart version update, accepted values is a comma separated list of “none,major,minor,patch”
⚠ This table is generated from the Updatecli codebase and may contain inaccurate data. Feel free to report them on github.com/updatecli/updatecli

Example

# updatecli.d/default.yaml
name: "Helm autodiscovery using git scm"
scms:
  epinio:
    kind: git
    spec:
      url: https://github.com/olblak/charts.git
      branch: master
    
autodiscovery:
  # scmid is applied to all crawlers
  scmid: epinio
  crawlers:
    helm:
      ignore:
        # Ignore a specific path:
        - path: charts/acme/*
        # Ignore a specific chart dependency:
        - dependencies:
            my-chart-dependency: ">0.0.1"
        # Ignore a specific image reference in chart values:
        - containers:
            "longhornio/upgrade-responder": ""
      
      # To include only a specific path:
      #only:
      #  - path: charts/*
Top