builder/Dockerfile
Hornwitser 466c9ef7be Document versions included and link to sources
Add version pinned if pinned to the readme along with links to the
website for each tool included. Add missing links to references used
when creating the Dockerfile.
2024-08-02 13:34:49 +02:00

60 lines
2.3 KiB
Docker

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
ARG UBUNTU_CODENAME=jammy
RUN set -eux; \
apt-get update; \
apt-get install -y --no-install-recommends \
ca-certificates \
curl \
git \
gpg \
openssh-client \
; \
install -m 0755 -d /etc/apt/keyrings; \
curl -sSL "https://keyserver.ubuntu.com/pks/lookup?fingerprint=on&op=get&search=0x6125E2A8C77F2818FB7BD15B93C4A3FD7BB9C367" \
> /etc/apt/keyrings/ansible.asc \
; \
echo \
"deb [signed-by=/etc/apt/keyrings/ansible.asc] \
http://ppa.launchpad.net/ansible/ansible/ubuntu \
$UBUNTU_CODENAME main" \
> /etc/apt/sources.list.d/ansible.list; \
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 \
ansible \
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:
# - ansible: https://docs.ansible.com/ansible/latest/installation_guide/installation_distros.html#installing-ansible-on-debian
# - docker: https://docs.docker.com/engine/install/debian/#install-from-a-package
# - kubectl: https://kubectl.docs.kubernetes.io/installation/kubectl/binaries/
# - node: https://github.com/nodesource/distributions#installation-instructions-deb
# - pnpm: https://nodejs.org/api/corepack.html#upgrading-the-global-versions
# - yq: https://github.com/mikefarah/yq?tab=readme-ov-file#install