Skip to content

Commit

Permalink
fix(helm-values): update digest if available (#7202)
Browse files Browse the repository at this point in the history
  • Loading branch information
viceice committed Sep 8, 2020
1 parent 605346f commit 6fefb26
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ someOtherKey:
- image:
registry: docker.io
repository: bitnami/postgresql
tag: 11.5.0-debian-9-r0
tag: 11.5.0-debian-9-r0@sha256:4762726f1471ef048dd807afdc0e19265e95ffdcc7cb4a34891f680290022809
some-non-image-related-key: 'with-some-value'

empty_key:
6 changes: 5 additions & 1 deletion lib/manager/helm-values/__snapshots__/extract.spec.ts.snap
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,21 @@ Object {
"currentValue": "11.6.0-debian-9-r0",
"datasource": "docker",
"depName": "bitnami/postgresql",
"replaceString": "11.6.0-debian-9-r0",
},
Object {
"currentDigest": undefined,
"currentValue": "0.7.0-debian-9-r12",
"datasource": "docker",
"depName": "docker.io/bitnami/postgres-exporter",
"replaceString": "0.7.0-debian-9-r12",
},
Object {
"currentDigest": undefined,
"currentDigest": "sha256:4762726f1471ef048dd807afdc0e19265e95ffdcc7cb4a34891f680290022809",
"currentValue": "11.5.0-debian-9-r0",
"datasource": "docker",
"depName": "docker.io/bitnami/postgresql",
"replaceString": "11.5.0-debian-9-r0@sha256:4762726f1471ef048dd807afdc0e19265e95ffdcc7cb4a34891f680290022809",
},
],
}
Expand All @@ -33,6 +36,7 @@ Object {
"currentValue": "1.16.1",
"datasource": "docker",
"depName": "nginx",
"replaceString": "1.16.1",
},
],
}
Expand Down
19 changes: 16 additions & 3 deletions lib/manager/helm-values/extract.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,20 @@ import {
matchesHelmValuesDockerHeuristic,
} from './util';

function getHelmDep({
registry,
repository,
tag,
}: {
registry: string;
repository: string;
tag: string;
}): PackageDependency {
const dep = getDep(`${registry}${repository}:${tag}`, false);
dep.replaceString = tag;
return dep;
}

/**
* Recursively find all supported dependencies in the yaml object.
*
Expand All @@ -29,8 +43,7 @@ function findDependencies(
registry = registry ? `${registry}/` : '';
const repository = String(currentItem.repository);
const tag = String(currentItem.tag);
const currentFrom = `${registry}${repository}:${tag}`;
packageDependencies.push(getDep(currentFrom, false));
packageDependencies.push(getHelmDep({ repository, tag, registry }));
} else {
findDependencies(parsedContent[key], packageDependencies);
}
Expand All @@ -39,7 +52,7 @@ function findDependencies(
}

export function extractPackageFile(content: string): PackageFile {
let parsedContent;
let parsedContent: Record<string, unknown> | HelmDockerImageDependency;
try {
// a parser that allows extracting line numbers would be preferable, with
// the current approach we need to match anything we find again during the update
Expand Down

0 comments on commit 6fefb26

Please sign in to comment.