It's now possible to change the registries used by the install-tool
and prepare-tool
commands.
This can be done by url replacements.
You can find the default urls in the tool sections below.
The number of URL_REPLACE_*_FROM
and URL_REPLACE_*_TO
environment variables must match.
Theses variables are case sensitive.
The numbers will be processed in numerical order and can have gaps.
FROM containerbase/base
ENV URL_REPLACE_5_FROM=https://storage.googleapis.com/dart-archive/channels/stable/release/
ENV URL_REPLACE_5_TO=https://artifactory.proxy.test/virtual/dart-archive/
ENV URL_REPLACE_0_FROM=https://download.docker.com/linux/static/stable/
ENV URL_REPLACE_0_TO=https://artifactory.proxy.test/virtual/docker-com/
# renovate: datasource=github-releases packageName=moby/moby
RUN install-tool docker v24.0.2
# renovate: datasource=docker
RUN install-tool dart 2.18.0
GitHub releases are redirecting from https://github.com/<org>/<repo>/releases/<version>/<file>
to https://objects.githubusercontent.com/<some-url>
which seems to be an Amazon S3 bucket.
Bazelisk releases are downloaded from:
https://github.com/bazelbuild/bazelisk/releases
Samples:
https://github.com/bazelbuild/bazelisk/releases/v1.19.0/bazelisk-linux-amd64
https://github.com/bazelbuild/bazelisk/releases/v1.19.0/bazelisk-linux-arm64
Bun releases are downloaded from:
https://github.com/oven-sh/bun/releases
Samples:
https://github.com/oven-sh/bun/releases/bun-v1.0.0/bun-linux-x64.zip
https://github.com/oven-sh/bun/releases/bun-v1.0.0/bun-linux-aarch64.zip
https://github.com/oven-sh/bun/releases/bun-v1.0.0/SHASUMS256.txt
Dart releases are downloaded from:
https://storage.googleapis.com/dart-archive/channels/stable/release
Samples:
https://storage.googleapis.com/dart-archive/channels/stable/release/1.11.0/sdk/dartsdk-linux-x64-release.zip
https://storage.googleapis.com/dart-archive/channels/stable/release/2.18.0/sdk/dartsdk-linux-x64-release.zip
https://storage.googleapis.com/dart-archive/channels/stable/release/2.19.4/sdk/dartsdk-linux-x64-release.zip.sha256sum
https://storage.googleapis.com/dart-archive/channels/stable/release/2.19.4/sdk/dartsdk-linux-arm64-release.zip
https://storage.googleapis.com/dart-archive/channels/stable/release/2.19.4/sdk/dartsdk-linux-arm64-release.zip.sha256sum
Docker releases are downloaded from:
https://download.docker.com/linux/static/stable
Samples:
https://download.docker.com/linux/static/stable/x86_64/docker-20.10.7.tgz
https://download.docker.com/linux/static/stable/aarch64/docker-24.0.5.tgz
Dotnet releases are downloaded from:
https://dotnetcli.azureedge.net/dotnet/Sdk
Samples:
https://dotnetcli.azureedge.net/dotnet/Sdk/6.0.413/dotnet-sdk-6.0.413-linux-x64.tar.gz
https://dotnetcli.azureedge.net/dotnet/Sdk/6.0.413/dotnet-sdk-6.0.413-linux-arm64.tar.gz
Erlang releases are downloaded from:
https://github.com/containerbase/erlang-prebuild/releases
Samples:
https://github.com/containerbase/erlang-prebuild/releases/25.3.2.8/erlang-25.3.2.8-jammy-x86_x64.tar.xz.sha512
https://github.com/containerbase/erlang-prebuild/releases/25.3.2.8/erlang-25.3.2.8-jammy-x86_x64.tar.xz
Elixir releases are downloaded from:
https://github.com/elixir-lang/elixir/releases
Samples:
https://github.com/elixir-lang/elixir/releases/v1.16.0/elixir-otp-24.zip
https://github.com/elixir-lang/elixir/releases/v1.14.0/elixir-otp-23.zip
https://github.com/elixir-lang/elixir/releases/v1.13.0/Precompiled.zip
Flutter releases are downloaded from:
https://github.com/containerbase/flutter-prebuild/releases
https://github.com/flutter/flutter.git
The first url is preferred and the second is used as fallback for older versions.
Samples:
https://github.com/containerbase/flutter-prebuild/releases/3.13.7/flutter-3.13.7-x86_64.tar.xz
https://github.com/containerbase/flutter-prebuild/releases/3.13.7/flutter-3.13.7-x86_64.tar.xz.sha512
https://github.com/containerbase/flutter-prebuild/releases/3.13.7/flutter-3.13.7-aarch64.tar.xz
https://github.com/containerbase/flutter-prebuild/releases/3.13.7/flutter-3.13.7-aarch64.tar.xz.sha512
https://github.com/flutter/flutter.git
Flux releases are downloaded from:
https://github.com/fluxcd/flux2/releases
Samples:
https://github.com/fluxcd/flux2/releases/v0.19.0/flux_0.19.0_linux_amd64.tar.gz
https://github.com/fluxcd/flux2/releases/v2.1.0/flux_2.1.0_linux_arm64.tar.gz
Git is downloaded from:
http://ppa.launchpad.net/git-core/ppa/ubuntu
Git is installed via apt
package manager.
Git LFS releases are downloaded from:
https://github.com/git-lfs/git-lfs/releases
Samples:
https://github.com/git-lfs/git-lfs/releases/v3.4.1/git-lfs-linux-amd64-v3.4.1.tar.gz
Gleam releases are downloaded from:
https://github.com/gleam-lang/gleam/releases/download
Samples:
https://github.com/gleam-lang/gleam/releases/download/v0.34.1/gleam-v0.34.1-aarch64-unknown-linux-musl.tar.gz
https://github.com/gleam-lang/gleam/releases/download/v0.34.1/gleam-v0.34.1-aarch64-unknown-linux-musl.tar.gz.sha512
https://github.com/gleam-lang/gleam/releases/download/v0.34.1/gleam-v0.34.1-x86_64-unknown-linux-musl.tar.gz
https://github.com/gleam-lang/gleam/releases/download/v0.34.1/gleam-v0.34.1-x86_64-unknown-linux-musl.tar.gz.sha512
Go releases are downloaded from:
https://dl.google.com/go/
Samples:
https://dl.google.com/go/go1.21.6.linux-arm64.tar.gz
https://dl.google.com/go/go1.17.5.linux-amd64.tar.gz
Helm releases are downloaded from:
https://get.helm.sh
Samples:
https://get.helm.sh/helm-v3.7.1-linux-amd64.tar.gz
Helmfile releases are downloaded from:
https://github.com/helmfile/helmfile/releases
Samples:
https://github.com/helmfile/helmfile/releases/download/v0.161.0/helmfile_0.161.0_linux_amd64.tar.gz
Java releases are downloaded from:
https://api.adoptium.net/v3/assets/version/
https://github.com/adoptium/temurin<major>-binaries/releases
Each major version has it's own GitHub repository.
Samples:
https://api.adoptium.net/v3/assets/version/21.0.1+12.0.LTS?architecture=x86_64&image_type=jre&heap_size=normal&os=linux&page=0&page_size=1&project=jdk&semver=true
https://api.adoptium.net/v3/assets/version/11.0.22+7?architecture=x86_64&image_type=jdk&heap_size=normal&os=linux&page=0&page_size=1&project=jdk&semver=true
https://github.com/adoptium/temurin21-binaries/releases/jdk-21.0.1%2B12/OpenJDK21U-jre_x64_linux_hotspot_21.0.1_12.tar.gz
https://github.com/adoptium/temurin11-binaries/releases/jdk-11.0.22%2B7/OpenJDK11U-jdk_x64_linux_hotspot_11.0.22_7.tar.gz
Gradle releases are downloaded from:
https://services.gradle.org/distributions
https://services.gradle.org/versions/current
The second url is only used when latest
is passed as version.
Then we try to find the latest version from the that url.
Samples:
https://services.gradle.org/versions/current
https://services.gradle.org/distributions/gradle-8.5-bin.zip
https://services.gradle.org/distributions/gradle-6.9.4-bin.zip
Maven releases are downloaded from:
https://github.com/containerbase/maven-prebuild/releases
https://archive.apache.org/dist/maven
The first url is preferred and the second is used as fallback for older versions.
Samples:
https://github.com/containerbase/maven-prebuild/releases/3.0.4/maven-3.0.4.tar.xz.sha512
https://github.com/containerbase/maven-prebuild/releases/3.0.4/maven-3.0.4.tar.xz
https://archive.apache.org/dist/maven/maven-3/3.0.4/binaries/apache-maven-3.0.4-bin.tar.gz
https://archive.apache.org/dist/maven/maven-3/3.0.4/binaries/apache-maven-3.0.4-bin.tar.gz.sha1
https://archive.apache.org/dist/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar
https://archive.apache.org/dist/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz.sha512
SBT releases are downloaded from:
https://github.com/sbt/sbt/releases
Samples:
https://github.com/sbt/sbt/releases/download/v1.5.5/sbt-1.5.5.tgz
Scala releases are downloaded from:
https://downloads.lightbend.com
https://github.com/lampepfl/dotty/releases
The second url will be used soon for scala v3.
Samples:
https://downloads.lightbend.com/scala/2.13.6/scala-2.13.6.tgz
jsonnet-bundler releases are downloaded from:
https://github.com/jsonnet-bundler/jsonnet-bundler/releases
Samples:
https://github.com/jsonnet-bundler/jsonnet-bundler/releases/download/v0.5.1/jb-linux-amd64
Kustomize releases are downloaded from:
https://github.com/kubernetes-sigs/kustomize/releases
Samples:
https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv5.3.0/kustomize_v5.3.0_linux_amd64.tar.gz
Nix releases are downloaded from:
https://hydra.nixos.org/job/nix
https://releases.nixos.org
The second url will be used soon (#2066).
Samples:
https://hydra.nixos.org/job/nix/maintenance-2.4/buildStatic.x86_64-linux/latest/download-by-type/file/binary-dist
https://releases.nixos.org/nix/nix-2.2/nix-2.2-aarch64-linux.tar.bz2
https://releases.nixos.org/nix/nix-2.2/nix-2.2-aarch64-linux.tar.bz2.sha256
Node releases are downloaded from:
https://github.com/containerbase/node-prebuild/releases
https://nodejs.org/dist
The first url is preferred and the second is used as fallback for older versions.
Samples:
https://github.com/containerbase/node-prebuild/releases/18.12.0/node-18.12.0-jammy-x86_x64.tar.xz.sha512
https://github.com/containerbase/node-prebuild/releases/18.12.0/node-18.12.0-jammy-aarch64.tar.xz
https://github.com/containerbase/node-prebuild/releases/18.12.0/node-18.12.0-focal-x86_x64.tar.xz.sha512
https://github.com/containerbase/node-prebuild/releases/18.12.0/node-18.12.0-focal-aarch64.tar.xz
https://nodejs.org/dist/v20.0.0/SHASUMS256.txt
https://nodejs.org/dist/v20.0.0/node-v20.0.0-linux-x64.tar.xz
https://nodejs.org/dist/v20.0.0/node-v20.0.0-linux-arm64.tar.xz
https://nodejs.org/dist/index.json
The url https://nodejs.org/dist/index.json
is used to find the latest version if no version was provided.
Npm tools are downloaded from:
https://registry.npmjs.org
https://github.com/containerbase/node-re2-prebuild/releases
(renovate only)
Those tools are installed via npm
package manager.
Known tools:
bower
corepack
lerna
npm
pnpm
renovate
yarn
yarn-slim
The install-npm
command uses those urls too.
Renovate additionally uses the following urls for downloading re2
binaries.
https://github.com/containerbase/node-re2-prebuild/releases/1.20.9/linux-arm64-115.br
https://github.com/containerbase/node-re2-prebuild/releases/1.20.9/linux-x64-108.br
PHP releases are downloaded from:
https://github.com/containerbase/php-prebuild/releases
Samples:
https://github.com/containerbase/php-prebuild/releases/8.3.2/php-8.3.2-jammy-x86_x64.tar.xz.sha512
https://github.com/containerbase/php-prebuild/releases/8.3.2/php-8.3.2-jammy-x86_x64.tar.xz
Composer releases are downloaded from:
https://getcomposer.org/download
https://api.github.com/repos/composer/composer/releases/latest
The second url is only used when latest
is passed as version.
Then we try to find the latest version from GitHub.
Samples:
https://getcomposer.org/download/2.6.6/composer.phar.sha256sum
https://getcomposer.org/download/2.6.6/composer.phar
Powershell releases are downloaded from:
https://github.com/PowerShell/PowerShell/releases
Samples:
https://github.com/PowerShell/PowerShell/releases/download/v7.4.1/powershell-7.4.1-linux-arm64.tar.gz
https://github.com/PowerShell/PowerShell/releases/download/v7.4.1/powershell-7.4.1-linux-x64.tar.gz
https://github.com/PowerShell/PowerShell/releases/download/v7.4.1/hashes.sha256
Python releases are downloaded from:
https://github.com/containerbase/python-prebuild/releases
https://pypi.org/simple
The second url is used to install and update global pip
and virtualenv
packages of the python package.
Samples:
https://github.com/containerbase/python-prebuild/releases/3.12.1/python-3.12.1-jammy-x86_x64.tar.xz.sha512
https://github.com/containerbase/python-prebuild/releases/3.12.1/python-3.12.1-jammy-x86_x64.tar.xz
Pip tools are downloaded from:
https://pypi.org/simple
Those tools are installed via pip
package manager.
Known tools:
checkov
hashin
pdm
pip-tools
pipenv
poetry
Ruby releases are downloaded from:
https://github.com/containerbase/ruby-prebuild/releases
Samples:
https://github.com/containerbase/ruby-prebuild/releases/3.0.3/ruby-3.0.3-jammy-x86_x64.tar.xz.sha512
https://github.com/containerbase/ruby-prebuild/releases/3.0.3/ruby-3.0.3-jammy-x86_x64.tar.xz
Gem tools are downloaded from:
https://rubygems.org
Those tools are installed via gem
package manager.
Known tools:
bundler
cocoapods
The install-gem
command uses those urls too.
Rust releases are downloaded from:
https://static.rust-lang.org/dist/
Samples:
https://static.rust-lang.org/dist/rust-1.75.0-aarch64-unknown-linux-gnu.tar.gz
https://static.rust-lang.org/dist/rust-1.75.0-x86_64-unknown-linux-gnu.tar.gz
Swift releases are downloaded from:
https://download.swift.org
Samples:
https://download.swift.org/swift-5.7-release/ubuntu2204/swift-5.7-RELEASE/swift-5.7-RELEASE-ubuntu22.04.tar.gz
Terraform releases are downloaded from:
https://releases.hashicorp.com
Samples:
https://releases.hashicorp.com/terraform/1.0.11/terraform_1.0.11_linux_amd64.zip
https://releases.hashicorp.com/terraform/1.0.11/terraform_1.0.11_linux_arm64.zip
Vendir releases are downloaded from:
https://github.com/vmware-tanzu/carvel-vendir/releases
Samples:
https://github.com/vmware-tanzu/carvel-vendir/releases/download/v0.22.0/vendir-linux-amd64