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.
60 lines
2.3 KiB
Docker
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
|