Skip to content

Commit

Permalink
fix(manager/helmv3): add all repositories in dependencies as repo for…
Browse files Browse the repository at this point in the history
… artifacts (#13848)
  • Loading branch information
secustor committed Jan 27, 2022
1 parent 10b0efa commit b20c2f7
Show file tree
Hide file tree
Showing 5 changed files with 111 additions and 16 deletions.
99 changes: 97 additions & 2 deletions lib/manager/helmv3/__snapshots__/artifacts.spec.ts.snap
Expand Up @@ -238,6 +238,25 @@ Array [
"timeout": 900000,
},
},
Object {
"cmd": "helm repo add repo-test --registry-config /tmp/renovate/cache/__renovate-private-cache/registry.json --repository-config /tmp/renovate/cache/__renovate-private-cache/repositories.yaml --repository-cache /tmp/renovate/cache/__renovate-private-cache/repositories https://gitlab.com/api/v4/projects/xxxxxxx/packages/helm/stable",
"options": Object {
"cwd": "/tmp/github/some/repo",
"encoding": "utf-8",
"env": Object {
"HELM_EXPERIMENTAL_OCI": "1",
"HOME": "/home/user",
"HTTPS_PROXY": "https://example.com",
"HTTP_PROXY": "http://example.com",
"LANG": "en_US.UTF-8",
"LC_ALL": "en_US",
"NO_PROXY": "localhost",
"PATH": "/tmp/path",
},
"maxBuffer": 10485760,
"timeout": 900000,
},
},
Object {
"cmd": "helm dependency update --registry-config /tmp/renovate/cache/__renovate-private-cache/registry.json --repository-config /tmp/renovate/cache/__renovate-private-cache/repositories.yaml --repository-cache /tmp/renovate/cache/__renovate-private-cache/repositories ''",
"options": Object {
Expand All @@ -262,6 +281,25 @@ Array [

exports[`manager/helmv3/artifacts returns null if unchanged 1`] = `
Array [
Object {
"cmd": "helm repo add repo-test --registry-config /tmp/renovate/cache/__renovate-private-cache/registry.json --repository-config /tmp/renovate/cache/__renovate-private-cache/repositories.yaml --repository-cache /tmp/renovate/cache/__renovate-private-cache/repositories https://gitlab.com/api/v4/projects/xxxxxxx/packages/helm/stable",
"options": Object {
"cwd": "/tmp/github/some/repo",
"encoding": "utf-8",
"env": Object {
"HELM_EXPERIMENTAL_OCI": "1",
"HOME": "/home/user",
"HTTPS_PROXY": "https://example.com",
"HTTP_PROXY": "http://example.com",
"LANG": "en_US.UTF-8",
"LC_ALL": "en_US",
"NO_PROXY": "localhost",
"PATH": "/tmp/path",
},
"maxBuffer": 10485760,
"timeout": 900000,
},
},
Object {
"cmd": "helm dependency update --registry-config /tmp/renovate/cache/__renovate-private-cache/registry.json --repository-config /tmp/renovate/cache/__renovate-private-cache/repositories.yaml --repository-cache /tmp/renovate/cache/__renovate-private-cache/repositories ''",
"options": Object {
Expand Down Expand Up @@ -307,6 +345,25 @@ generated: \\"2022-01-20T17:48:47.610371241+01:00\\"

exports[`manager/helmv3/artifacts returns updated Chart.lock 2`] = `
Array [
Object {
"cmd": "helm repo add repo-test --registry-config /tmp/renovate/cache/__renovate-private-cache/registry.json --repository-config /tmp/renovate/cache/__renovate-private-cache/repositories.yaml --repository-cache /tmp/renovate/cache/__renovate-private-cache/repositories https://gitlab.com/api/v4/projects/xxxxxxx/packages/helm/stable",
"options": Object {
"cwd": "/tmp/github/some/repo",
"encoding": "utf-8",
"env": Object {
"HELM_EXPERIMENTAL_OCI": "1",
"HOME": "/home/user",
"HTTPS_PROXY": "https://example.com",
"HTTP_PROXY": "http://example.com",
"LANG": "en_US.UTF-8",
"LC_ALL": "en_US",
"NO_PROXY": "localhost",
"PATH": "/tmp/path",
},
"maxBuffer": 10485760,
"timeout": 900000,
},
},
Object {
"cmd": "helm dependency update --registry-config /tmp/renovate/cache/__renovate-private-cache/registry.json --repository-config /tmp/renovate/cache/__renovate-private-cache/repositories.yaml --repository-cache /tmp/renovate/cache/__renovate-private-cache/repositories ''",
"options": Object {
Expand Down Expand Up @@ -352,6 +409,25 @@ generated: \\"2022-01-20T17:48:47.610371241+01:00\\"

exports[`manager/helmv3/artifacts returns updated Chart.lock for lockfile maintenance 2`] = `
Array [
Object {
"cmd": "helm repo add repo-test --registry-config /tmp/renovate/cache/__renovate-private-cache/registry.json --repository-config /tmp/renovate/cache/__renovate-private-cache/repositories.yaml --repository-cache /tmp/renovate/cache/__renovate-private-cache/repositories https://gitlab.com/api/v4/projects/xxxxxxx/packages/helm/stable",
"options": Object {
"cwd": "/tmp/github/some/repo",
"encoding": "utf-8",
"env": Object {
"HELM_EXPERIMENTAL_OCI": "1",
"HOME": "/home/user",
"HTTPS_PROXY": "https://example.com",
"HTTP_PROXY": "http://example.com",
"LANG": "en_US.UTF-8",
"LC_ALL": "en_US",
"NO_PROXY": "localhost",
"PATH": "/tmp/path",
},
"maxBuffer": 10485760,
"timeout": 900000,
},
},
Object {
"cmd": "helm dependency update --registry-config /tmp/renovate/cache/__renovate-private-cache/registry.json --repository-config /tmp/renovate/cache/__renovate-private-cache/repositories.yaml --repository-cache /tmp/renovate/cache/__renovate-private-cache/repositories ''",
"options": Object {
Expand Down Expand Up @@ -410,7 +486,7 @@ Array [
},
},
Object {
"cmd": "docker run --rm --name=renovate_helm --label=renovate_child -v \\"/tmp/github/some/repo\\":\\"/tmp/github/some/repo\\" -v \\"/tmp/renovate/cache\\":\\"/tmp/renovate/cache\\" -e HELM_EXPERIMENTAL_OCI -w \\"/tmp/github/some/repo\\" renovate/helm bash -l -c \\"helm dependency update --registry-config /tmp/renovate/cache/__renovate-private-cache/registry.json --repository-config /tmp/renovate/cache/__renovate-private-cache/repositories.yaml --repository-cache /tmp/renovate/cache/__renovate-private-cache/repositories ''\\"",
"cmd": "docker run --rm --name=renovate_helm --label=renovate_child -v \\"/tmp/github/some/repo\\":\\"/tmp/github/some/repo\\" -v \\"/tmp/renovate/cache\\":\\"/tmp/renovate/cache\\" -e HELM_EXPERIMENTAL_OCI -w \\"/tmp/github/some/repo\\" renovate/helm bash -l -c \\"helm repo add repo-test --registry-config /tmp/renovate/cache/__renovate-private-cache/registry.json --repository-config /tmp/renovate/cache/__renovate-private-cache/repositories.yaml --repository-cache /tmp/renovate/cache/__renovate-private-cache/repositories https://gitlab.com/api/v4/projects/xxxxxxx/packages/helm/stable && helm dependency update --registry-config /tmp/renovate/cache/__renovate-private-cache/registry.json --repository-config /tmp/renovate/cache/__renovate-private-cache/repositories.yaml --repository-cache /tmp/renovate/cache/__renovate-private-cache/repositories ''\\"",
"options": Object {
"cwd": "/tmp/github/some/repo",
"encoding": "utf-8",
Expand Down Expand Up @@ -492,6 +568,25 @@ Array [
"timeout": 900000,
},
},
Object {
"cmd": "helm repo add repo-test --registry-config /tmp/renovate/cache/__renovate-private-cache/registry.json --repository-config /tmp/renovate/cache/__renovate-private-cache/repositories.yaml --repository-cache /tmp/renovate/cache/__renovate-private-cache/repositories https://gitlab.com/api/v4/projects/xxxxxxx/packages/helm/stable",
"options": Object {
"cwd": "/tmp/github/some/repo",
"encoding": "utf-8",
"env": Object {
"HELM_EXPERIMENTAL_OCI": "1",
"HOME": "/home/user",
"HTTPS_PROXY": "https://example.com",
"HTTP_PROXY": "http://example.com",
"LANG": "en_US.UTF-8",
"LC_ALL": "en_US",
"NO_PROXY": "localhost",
"PATH": "/tmp/path",
},
"maxBuffer": 10485760,
"timeout": 900000,
},
},
Object {
"cmd": "helm dependency update --registry-config /tmp/renovate/cache/__renovate-private-cache/registry.json --repository-config /tmp/renovate/cache/__renovate-private-cache/repositories.yaml --repository-cache /tmp/renovate/cache/__renovate-private-cache/repositories ''",
"options": Object {
Expand Down Expand Up @@ -550,7 +645,7 @@ Array [
},
},
Object {
"cmd": "docker run --rm --name=renovate_helm --label=renovate_child -v \\"/tmp/github/some/repo\\":\\"/tmp/github/some/repo\\" -v \\"/tmp/renovate/cache\\":\\"/tmp/renovate/cache\\" -e HELM_EXPERIMENTAL_OCI -w \\"/tmp/github/some/repo\\" renovate/helm bash -l -c \\"helm repo add stable --registry-config /tmp/renovate/cache/__renovate-private-cache/registry.json --repository-config /tmp/renovate/cache/__renovate-private-cache/repositories.yaml --repository-cache /tmp/renovate/cache/__renovate-private-cache/repositories the_stable_url && helm repo add repo1 --registry-config /tmp/renovate/cache/__renovate-private-cache/registry.json --repository-config /tmp/renovate/cache/__renovate-private-cache/repositories.yaml --repository-cache /tmp/renovate/cache/__renovate-private-cache/repositories the_repo1_url && helm dependency update --registry-config /tmp/renovate/cache/__renovate-private-cache/registry.json --repository-config /tmp/renovate/cache/__renovate-private-cache/repositories.yaml --repository-cache /tmp/renovate/cache/__renovate-private-cache/repositories ''\\"",
"cmd": "docker run --rm --name=renovate_helm --label=renovate_child -v \\"/tmp/github/some/repo\\":\\"/tmp/github/some/repo\\" -v \\"/tmp/renovate/cache\\":\\"/tmp/renovate/cache\\" -e HELM_EXPERIMENTAL_OCI -w \\"/tmp/github/some/repo\\" renovate/helm bash -l -c \\"helm repo add stable --registry-config /tmp/renovate/cache/__renovate-private-cache/registry.json --repository-config /tmp/renovate/cache/__renovate-private-cache/repositories.yaml --repository-cache /tmp/renovate/cache/__renovate-private-cache/repositories the_stable_url && helm repo add repo1 --registry-config /tmp/renovate/cache/__renovate-private-cache/registry.json --repository-config /tmp/renovate/cache/__renovate-private-cache/repositories.yaml --repository-cache /tmp/renovate/cache/__renovate-private-cache/repositories the_repo1_url && helm repo add repo-test --registry-config /tmp/renovate/cache/__renovate-private-cache/registry.json --repository-config /tmp/renovate/cache/__renovate-private-cache/repositories.yaml --repository-cache /tmp/renovate/cache/__renovate-private-cache/repositories https://gitlab.com/api/v4/projects/xxxxxxx/packages/helm/stable && helm dependency update --registry-config /tmp/renovate/cache/__renovate-private-cache/registry.json --repository-config /tmp/renovate/cache/__renovate-private-cache/repositories.yaml --repository-cache /tmp/renovate/cache/__renovate-private-cache/repositories ''\\"",
"options": Object {
"cwd": "/tmp/github/some/repo",
"encoding": "utf-8",
Expand Down
15 changes: 11 additions & 4 deletions lib/manager/helmv3/artifacts.spec.ts
Expand Up @@ -100,7 +100,7 @@ describe('manager/helmv3/artifacts', () => {
},
},
]);
expect(execSnapshots).toBeArrayOfSize(1);
expect(execSnapshots).toBeArrayOfSize(2);
expect(execSnapshots).toMatchSnapshot();
});

Expand All @@ -124,7 +124,7 @@ describe('manager/helmv3/artifacts', () => {
},
},
]);
expect(execSnapshots).toBeArrayOfSize(1);
expect(execSnapshots).toBeArrayOfSize(2);
expect(execSnapshots).toMatchSnapshot();
});

Expand Down Expand Up @@ -200,7 +200,7 @@ describe('manager/helmv3/artifacts', () => {
},
},
]);
expect(execSnapshots).toBeArrayOfSize(3);
expect(execSnapshots).toBeArrayOfSize(4);
expect(execSnapshots).toMatchSnapshot();
});

Expand Down Expand Up @@ -273,7 +273,7 @@ describe('manager/helmv3/artifacts', () => {
},
},
]);
expect(execSnapshots).toBeArrayOfSize(4);
expect(execSnapshots).toBeArrayOfSize(5);
expect(execSnapshots).toMatchSnapshot();
});

Expand Down Expand Up @@ -358,6 +358,13 @@ describe('manager/helmv3/artifacts', () => {
value.cmd.startsWith('helm repo add repo1')
)
).toBeArrayOfSize(1);
expect(
execSnapshots.filter((value) =>
value.cmd.includes(
'https://gitlab.com/api/v4/projects/xxxxxxx/packages/helm/stable'
)
)
).toBeArrayOfSize(1);
expect(execSnapshots).toMatchSnapshot();
});
});
10 changes: 3 additions & 7 deletions lib/manager/helmv3/artifacts.ts
Expand Up @@ -92,13 +92,9 @@ async function helmCommands(
parameters.push(`--password ${quote(password)}`);
}

if (value.isAlias || isPrivateRepo) {
cmd.push(
`helm repo add ${value.name} ${parameters.join(' ')} ${
value.repository
}`
);
}
cmd.push(
`helm repo add ${value.name} ${parameters.join(' ')} ${value.repository}`
);
});

cmd.push(
Expand Down
1 change: 0 additions & 1 deletion lib/manager/helmv3/types.ts
Expand Up @@ -6,7 +6,6 @@ export interface ChartDefinition {

export interface Repository {
name: string;
isAlias: boolean;
repository: string;
}

Expand Down
2 changes: 0 additions & 2 deletions lib/manager/helmv3/utils.ts
Expand Up @@ -60,7 +60,6 @@ export function getRepositories(definitions: ChartDefinition[]): Repository[] {
// remove additional keys to prevent interference at deduplication
return {
name: dependency.name,
isAlias: dependency.isAlias,
repository: dependency.repository,
};
});
Expand All @@ -82,7 +81,6 @@ export function aliasRecordToRepositories(
return Object.entries(aliases).map(([alias, url]) => {
return {
name: alias,
isAlias: true,
repository: url,
};
});
Expand Down

0 comments on commit b20c2f7

Please sign in to comment.