diff --git a/lib/modules/manager/helm-values/extract.ts b/lib/modules/manager/helm-values/extract.ts index 670d8fe2ff57bec399a514ddb20f76ac8e418ffc..ba58044b151ef05e3e7c44faa76bc3adac96a3f5 100644 --- a/lib/modules/manager/helm-values/extract.ts +++ b/lib/modules/manager/helm-values/extract.ts @@ -46,7 +46,7 @@ function findDependencies( let registry = currentItem.registry; registry = registry ? `${registry}/` : ''; const repository = String(currentItem.repository); - const tag = String(currentItem.tag); + const tag = `${currentItem.tag ?? currentItem.version}`; packageDependencies.push(getHelmDep({ repository, tag, registry })); } else if (matchesHelmValuesInlineImage(key, value)) { packageDependencies.push(getDep(value)); diff --git a/lib/modules/manager/helm-values/readme.md b/lib/modules/manager/helm-values/readme.md index a604f2f0c886ae31be5951dcb80cf448a6521b5c..c77852fca1bedbdd393f9d621209a707581cb657 100644 --- a/lib/modules/manager/helm-values/readme.md +++ b/lib/modules/manager/helm-values/readme.md @@ -7,6 +7,10 @@ image: tag: v1.0.0 registry: registry.example.com # optional key, will default to "docker.io" +image: + repository: 'some-docker/dependency' + version: v1.0.0 + coreImage: registry: docker.io repository: bitnami/harbor-core diff --git a/lib/modules/manager/helm-values/types.ts b/lib/modules/manager/helm-values/types.ts index b507048353b0d13564279353430954db8a3caf30..50dbe42b439ccd4a6a450eea782b39e0116ef555 100644 --- a/lib/modules/manager/helm-values/types.ts +++ b/lib/modules/manager/helm-values/types.ts @@ -1,5 +1,20 @@ -export type HelmDockerImageDependency = { +export interface HelmDockerImageDependencyBasic { registry?: string; repository: string; +} + +export interface HelmDockerImageDependencyTag + extends HelmDockerImageDependencyBasic { tag: string; -}; + version?: never; +} + +export interface HelmDockerImageDependencyVersion + extends HelmDockerImageDependencyBasic { + version: string; + tag?: never; +} + +export type HelmDockerImageDependency = + | HelmDockerImageDependencyTag + | HelmDockerImageDependencyVersion; diff --git a/lib/modules/manager/helm-values/util.ts b/lib/modules/manager/helm-values/util.ts index e88874edcfdaff11222d9246360fdeafaf9e828b..58322e176f7aa85524967cb49664c9aebf1e2a0b 100644 --- a/lib/modules/manager/helm-values/util.ts +++ b/lib/modules/manager/helm-values/util.ts @@ -15,6 +15,9 @@ const parentKeyRe = regEx(/image$/i); * image: * repository: 'something' * tag: v1.0.0 + * image: + * repository: 'something' + * version: v1.0.0 * renovateImage: * repository: 'something' * tag: v1.0.0 @@ -28,7 +31,7 @@ export function matchesHelmValuesDockerHeuristic( data && typeof data === 'object' && hasKey('repository', data) && - hasKey('tag', data) + (hasKey('tag', data) || hasKey('version', data)) ); }