FROM debian:bookworm ARG KUBE_RELEASE=v1.30.2 ARG YQ_VERSION=v4.44.2 ARG NODE_VERSION=20.x ARG PNPM_VERSION=v9.5.0 RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ ca-certificates \ curl \ git \ openssh-client \ ; \ install -m 0755 -d /etc/apt/keyrings; \ curl -sSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc; \ chmod a+r /etc/apt/keyrings/docker.asc; \ echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \ https://download.docker.com/linux/debian \ bookworm stable" \ > /etc/apt/sources.list.d/docker.list; \ apt-get update; \ apt-get install -y --no-install-recommends \ docker-ce-cli \ docker-buildx-plugin \ docker-compose-plugin \ ; \ curl --silent --location "https://dl.k8s.io/release/$KUBE_RELEASE/bin/linux/amd64/kubectl" \ | install --owner=root --group=root --mode=0755 /dev/stdin /usr/local/bin/kubectl \ ; \ curl --silent --location "https://github.com/mikefarah/yq/releases/download/$YQ_VERSION/yq_linux_amd64.tar.gz" \ | tar --extract --gzip --to-stdout ./yq_linux_amd64 \ | install --owner=root --group=root --mode=0755 /dev/stdin /usr/local/bin/yq \ ; \ curl --silent --location "https://deb.nodesource.com/setup_$NODE_VERSION" | bash; \ apt-get install -y --no-install-recommends nodejs; \ corepack install --global pnpm@$PNPM_VERSION; \ corepack enable pnpm; \ rm -rf /var/lib/apt/lists/* # References: # - docker: https://docs.docker.com/engine/install/debian/#install-from-a-package # - node: https://github.com/nodesource/distributions#installation-instructions-deb