Having a helmfile.yaml with few releases:
releases:
- name: task-service
chart: ../tasks/helm/tasks
namespace: {{ .Namespace }}
values:
- image:
pullPolicy: Always
- name: storage
chart: harbor/storage
version: 2.0.0
and I want to configure Renovate to renew storage version if available (from Harbor).
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:base"
],
"rebaseWhen": "behind-base-branch",
"prConcurrentLimit": 10,
"prHourlyLimit": 100,
"commitBody": "Changelog: Storage dep",
"automergeStrategy": "merge-commit",
"hostRules": [],
"baseBranches": [
"main"
],
"packageRules": [
{
"matchUpdateTypes": [
"major",
"minor"
],
"automerge": false,
"autoApprove": false
}
],
"regexManagers": [
{
"fileMatch": [
"(^|/)helmfile\.ya?ml$"
],
"matchStrings": [
"name\s?:\s?storage\n\s+chart\s?:\s+harbor\/(?<depName>\S*)\n\s+version\s?:\s+(?<currentValue>\S*)"
],
"datasourceTemplate": "helm"
}
]
}
but when I run it, Renovate fails with error:
DEBUG: Preventing access to file outside allowed directory (repository=local)
"path": "/Users/my.name/IdeaProjects/tasks/helm/tasks/kustomization.yaml",
"allowedDir": "/Users/my.name/IdeaProjects/data-catalog-saas-helmfile"
ERROR: Repository has unknown error (repository=local)
"err": {
"message": "file-access-violation-error",
"stack": "Error: file-access-violation-errorn at assertBaseDir (/opt/homebrew/lib/node_modules/renovate/lib/util/fs/util.ts:12:11)n at ensurePath (/opt/homebrew/lib/node_modules/renovate/lib/util/fs/util.ts:21:3)n at ensureLocalPath (/opt/homebrew/lib/node_modules/renovate/lib/util/fs/util.ts:26:10)n at localPathExists (/opt/homebrew/lib/node_modules/renovate/lib/util/fs/index.ts:118:31)n at localChartHasKustomizationsYaml (/opt/homebrew/lib/node_modules/renovate/lib/modules/manager/helmfile/utils.ts:27:25)n at Object.extractPackageFile (/opt/homebrew/lib/node_modules/renovate/lib/modules/manager/helmfile/extract.ts:75:49)n at extractPackageFile (/opt/homebrew/lib/node_modules/renovate/lib/modules/manager/index.ts:75:9)n at getManagerPackageFiles (/opt/homebrew/lib/node_modules/renovate/lib/workers/repository/extract/manager-files.ts:58:43)n at /opt/homebrew/lib/node_modules/renovate/lib/workers/repository/extract/index.ts:57:28n at async Promise.all (index 2)n at extractAllDependencies (/opt/homebrew/lib/node_modules/renovate/lib/workers/repository/extract/index.ts:54:26)n at extract (/opt/homebrew/lib/node_modules/renovate/lib/workers/repository/process/extract-update.ts:140:28)n at extractDependencies (/opt/homebrew/lib/node_modules/renovate/lib/workers/repository/process/index.ts:154:26)n at Object.renovateRepository (/opt/homebrew/lib/node_modules/renovate/lib/workers/repository/index.ts:69:9)n at attributes.repository (/opt/homebrew/lib/node_modules/renovate/lib/workers/global/index.ts:218:11)n at start (/opt/homebrew/lib/node_modules/renovate/lib/workers/global/index.ts:203:7)n at /opt/homebrew/lib/node_modules/renovate/lib/renovate.ts:18:22"
}
DEBUG: Repository result: unknown-error, status: onboarded, enabled: true, onboarded: true
and I have no idea why and how to prevent it. The interersting part for me is
"path": "/Users/my.name/IdeaProjects/tasks/helm/tasks/kustomization.yaml"
which leads me that it’s something with a relative path chart: ../tasks/helm/tasks
in my helmfile.yaml. I tried to find a solution in doc, Google it, I also tried to find some renovate files which I can copy, but no luck.