diff --git a/docs/usage/configuration-options.md b/docs/usage/configuration-options.md index c7857be4a46835..df4b2c46e16cb5 100644 --- a/docs/usage/configuration-options.md +++ b/docs/usage/configuration-options.md @@ -863,7 +863,7 @@ Also, approval rules overriding should not be [prevented in GitLab settings](htt Configuration added here applies for all Go-related updates. The only supported package manager for Go is the native Go Modules (the `gomod` manager). -For self-hosted users, `GOPROXY`, `GONOPROXY` and `GOPRIVATE` environment variables are supported ([reference](https://go.dev/ref/mod#module-proxy)). +For self-hosted users, `GOPROXY`, `GONOPROXY`, `GOPRIVATE` and `GOINSECURE` environment variables are supported ([reference](https://go.dev/ref/mod#module-proxy)). Usage of `direct` will fallback to the Renovate-native release fetching mechanism. Also we support the `off` keyword which will stop any fetching immediately. diff --git a/lib/modules/datasource/go/releases-goproxy.spec.ts b/lib/modules/datasource/go/releases-goproxy.spec.ts index 17c181af30dcb5..7afdf286a85688 100644 --- a/lib/modules/datasource/go/releases-goproxy.spec.ts +++ b/lib/modules/datasource/go/releases-goproxy.spec.ts @@ -282,6 +282,7 @@ describe('modules/datasource/go/releases-goproxy', () => { delete process.env.GOPROXY; delete process.env.GONOPROXY; delete process.env.GOPRIVATE; + delete process.env.GOINSECURE; }); it('skips GONOPROXY and GOPRIVATE packages', async () => { diff --git a/lib/modules/manager/gomod/__snapshots__/artifacts.spec.ts.snap b/lib/modules/manager/gomod/__snapshots__/artifacts.spec.ts.snap index 6fca966c650fad..12da24004519b0 100644 --- a/lib/modules/manager/gomod/__snapshots__/artifacts.spec.ts.snap +++ b/lib/modules/manager/gomod/__snapshots__/artifacts.spec.ts.snap @@ -31,6 +31,7 @@ Array [ "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -62,6 +63,7 @@ Array [ "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -91,6 +93,7 @@ Array [ "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -139,6 +142,7 @@ Array [ "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -168,6 +172,7 @@ Array [ "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -192,6 +197,7 @@ Array [ "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -216,6 +222,7 @@ Array [ "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -245,6 +252,7 @@ Array [ "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -279,7 +287,7 @@ Array [ }, }, Object { - "cmd": "docker run --rm --name=renovate_go --label=renovate_child -v \\"/tmp/github/some/repo\\":\\"/tmp/github/some/repo\\" -v \\"/tmp/renovate/cache\\":\\"/tmp/renovate/cache\\" -e GOPROXY -e GOPRIVATE -e GONOPROXY -e GONOSUMDB -e GOFLAGS -e CGO_ENABLED -e GIT_CONFIG_KEY_0 -e GIT_CONFIG_VALUE_0 -e GIT_CONFIG_KEY_1 -e GIT_CONFIG_VALUE_1 -e GIT_CONFIG_KEY_2 -e GIT_CONFIG_VALUE_2 -e GIT_CONFIG_COUNT -w \\"/tmp/github/some/repo\\" renovate/go:latest bash -l -c \\"go get -d -t ./...\\"", + "cmd": "docker run --rm --name=renovate_go --label=renovate_child -v \\"/tmp/github/some/repo\\":\\"/tmp/github/some/repo\\" -v \\"/tmp/renovate/cache\\":\\"/tmp/renovate/cache\\" -e GOPROXY -e GOPRIVATE -e GONOPROXY -e GONOSUMDB -e GOINSECURE -e GOFLAGS -e CGO_ENABLED -e GIT_CONFIG_KEY_0 -e GIT_CONFIG_VALUE_0 -e GIT_CONFIG_KEY_1 -e GIT_CONFIG_VALUE_1 -e GIT_CONFIG_KEY_2 -e GIT_CONFIG_VALUE_2 -e GIT_CONFIG_COUNT -w \\"/tmp/github/some/repo\\" renovate/go:latest bash -l -c \\"go get -d -t ./...\\"", "options": Object { "cwd": "/tmp/github/some/repo", "encoding": "utf-8", @@ -293,6 +301,7 @@ Array [ "GIT_CONFIG_VALUE_1": "git@github.com:", "GIT_CONFIG_VALUE_2": "https://github.com/", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -327,13 +336,14 @@ Array [ }, }, Object { - "cmd": "docker run --rm --name=renovate_go --label=renovate_child -v \\"/tmp/github/some/repo\\":\\"/tmp/github/some/repo\\" -v \\"/tmp/renovate/cache\\":\\"/tmp/renovate/cache\\" -e GOPROXY -e GOPRIVATE -e GONOPROXY -e GONOSUMDB -e GOFLAGS -e CGO_ENABLED -w \\"/tmp/github/some/repo\\" renovate/go:latest bash -l -c \\"go get -d -t ./... && go mod tidy && go mod tidy\\"", + "cmd": "docker run --rm --name=renovate_go --label=renovate_child -v \\"/tmp/github/some/repo\\":\\"/tmp/github/some/repo\\" -v \\"/tmp/renovate/cache\\":\\"/tmp/renovate/cache\\" -e GOPROXY -e GOPRIVATE -e GONOPROXY -e GONOSUMDB -e GOINSECURE -e GOFLAGS -e CGO_ENABLED -w \\"/tmp/github/some/repo\\" renovate/go:latest bash -l -c \\"go get -d -t ./... && go mod tidy && go mod tidy\\"", "options": Object { "cwd": "/tmp/github/some/repo", "encoding": "utf-8", "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -368,13 +378,14 @@ Array [ }, }, Object { - "cmd": "docker run --rm --name=renovate_go --label=renovate_child -v \\"/tmp/github/some/repo\\":\\"/tmp/github/some/repo\\" -v \\"/tmp/renovate/cache\\":\\"/tmp/renovate/cache\\" -e GOPROXY -e GOPRIVATE -e GONOPROXY -e GONOSUMDB -e GOFLAGS -e CGO_ENABLED -w \\"/tmp/github/some/repo\\" renovate/go:latest bash -l -c \\"go get -d -t ./... && go mod tidy -compat=1.17 && go mod tidy -compat=1.17\\"", + "cmd": "docker run --rm --name=renovate_go --label=renovate_child -v \\"/tmp/github/some/repo\\":\\"/tmp/github/some/repo\\" -v \\"/tmp/renovate/cache\\":\\"/tmp/renovate/cache\\" -e GOPROXY -e GOPRIVATE -e GONOPROXY -e GONOSUMDB -e GOINSECURE -e GOFLAGS -e CGO_ENABLED -w \\"/tmp/github/some/repo\\" renovate/go:latest bash -l -c \\"go get -d -t ./... && go mod tidy -compat=1.17 && go mod tidy -compat=1.17\\"", "options": Object { "cwd": "/tmp/github/some/repo", "encoding": "utf-8", "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -409,13 +420,14 @@ Array [ }, }, Object { - "cmd": "docker run --rm --name=renovate_go --label=renovate_child -v \\"/tmp/github/some/repo\\":\\"/tmp/github/some/repo\\" -v \\"/tmp/renovate/cache\\":\\"/tmp/renovate/cache\\" -e GOPROXY -e GOPRIVATE -e GONOPROXY -e GONOSUMDB -e GOFLAGS -e CGO_ENABLED -w \\"/tmp/github/some/repo\\" renovate/go:latest bash -l -c \\"go get -d -t ./...\\"", + "cmd": "docker run --rm --name=renovate_go --label=renovate_child -v \\"/tmp/github/some/repo\\":\\"/tmp/github/some/repo\\" -v \\"/tmp/renovate/cache\\":\\"/tmp/renovate/cache\\" -e GOPROXY -e GOPRIVATE -e GONOPROXY -e GONOSUMDB -e GOINSECURE -e GOFLAGS -e CGO_ENABLED -w \\"/tmp/github/some/repo\\" renovate/go:latest bash -l -c \\"go get -d -t ./...\\"", "options": Object { "cwd": "/tmp/github/some/repo", "encoding": "utf-8", "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -445,6 +457,7 @@ Array [ "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -474,6 +487,7 @@ Array [ "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -498,6 +512,7 @@ Array [ "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -522,6 +537,7 @@ Array [ "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -546,6 +562,7 @@ Array [ "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -570,6 +587,7 @@ Array [ "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -599,6 +617,7 @@ Array [ "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -623,6 +642,7 @@ Array [ "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -647,6 +667,7 @@ Array [ "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -671,6 +692,7 @@ Array [ "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -695,6 +717,7 @@ Array [ "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -724,6 +747,7 @@ Array [ "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -748,6 +772,7 @@ Array [ "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -772,6 +797,7 @@ Array [ "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -796,6 +822,7 @@ Array [ "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -820,6 +847,7 @@ Array [ "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -849,6 +877,7 @@ Array [ "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -873,6 +902,7 @@ Array [ "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -897,6 +927,7 @@ Array [ "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -921,6 +952,7 @@ Array [ "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", @@ -945,6 +977,7 @@ Array [ "env": Object { "CGO_ENABLED": "1", "GOFLAGS": "-modcacherw", + "GOINSECURE": "insecure.example.com/*", "GONOPROXY": "noproxy.example.com/*", "GONOSUMDB": "1", "GOPRIVATE": "private.example.com/*", diff --git a/lib/modules/manager/gomod/artifacts.spec.ts b/lib/modules/manager/gomod/artifacts.spec.ts index e9e28f0f830d7b..4513b52e2040e1 100644 --- a/lib/modules/manager/gomod/artifacts.spec.ts +++ b/lib/modules/manager/gomod/artifacts.spec.ts @@ -56,6 +56,7 @@ const goEnv = { GOPROXY: 'proxy.example.com', GOPRIVATE: 'private.example.com/*', GONOPROXY: 'noproxy.example.com/*', + GOINSECURE: 'insecure.example.com/*', CGO_ENABLED: '1', }; diff --git a/lib/modules/manager/gomod/artifacts.ts b/lib/modules/manager/gomod/artifacts.ts index c1dd715184eef9..2b6dc742b65e1f 100644 --- a/lib/modules/manager/gomod/artifacts.ts +++ b/lib/modules/manager/gomod/artifacts.ts @@ -224,6 +224,7 @@ export async function updateArtifacts({ GONOPROXY: process.env.GONOPROXY, GONOSUMDB: process.env.GONOSUMDB, GOSUMDB: process.env.GOSUMDB, + GOINSECURE: process.env.GOINSECURE, GOFLAGS: useModcacherw(config.constraints?.go) ? '-modcacherw' : null, CGO_ENABLED: GlobalConfig.get('binarySource') === 'docker' ? '0' : null, ...getGitEnvironmentVariables(),