Select Git revision
Dockerfile 10.23 KiB
FROM docker.io/library/debian:testing-backports
SHELL ["/bin/bash", "-o", "pipefail", "-xc"]
# hadolint ignore=DL3008
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
ca-certificates \
curl \
gnupg \
&& \
export GNUPGHOME=/tmp/gnupghome && \
mkdir --mode=0700 "$GNUPGHOME" && \
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg > \
/usr/share/keyrings/google-cloud.gpg && \
curl https://pgp.mongodb.com/server-5.0.asc | \
gpg --no-default-keyring --import --batch --keyring /usr/share/keyrings/mongodb.gpg && \
curl https://cli-assets.heroku.com/apt/release.key | \
gpg --no-default-keyring --import --batch --keyring /usr/share/keyrings/heroku.gpg && \
curl https://apt.releases.hashicorp.com/gpg | \
gpg --no-default-keyring --import --batch --keyring /usr/share/keyrings/hashicorp.gpg && \
curl https://dl.cloudsmith.io/public/cloudposse/packages/gpg.7333C6FDEFA717CC.key | \
gpg --no-default-keyring --import --batch --keyring /usr/share/keyrings/cloudposse.gpg && \
rm -rf /tmp/* /var/tmp/* /var/lib/apt/lists/* /var/cache/apt/archives/*
COPY --chown=root:root sources.d/* /etc/apt/sources.list.d/
COPY --chown=root:root preferences.d/* /etc/apt/preferences.d/
# hadolint ignore=DL3008,DL3013,DL3016,DL3027,DL4001
RUN apt-get update && \
curl --location --silent --fail --show-error https://github.com/kubernetes/kompose/releases/download/v1.26.1/kompose_1.26.1_amd64.deb --output /tmp/kompose.deb && \
DEBIAN_FRONTEND=noninteractive apt-get install --yes --no-install-recommends \
adb \
apache2-utils \
aspell-he \
at \
aws-vault \
bash-completion \
bats \
bc \
build-essential \
bundler \
bzr \
ca-certificates \
cmake \
composer \
consul \
curl \
dbus-x11 \
default-jdk-headless \
default-mysql-client \
devscripts \
direnv \
dirmngr \
dnsutils \
docker.io \
dos2unix \
easy-rsa \
entr \
expect \
flatpak \
flatpak-builder \
flatpak-xdg-utils \
fuse \
gdal-bin \
gettext-base \
gh \
gir1.2-glib-2.0 \
gir1.2-ostree-1.0 \
git \
gnupg \
golang \
gomplate \
google-cloud-cli-skaffold \
google-cloud-sdk \
go-md2man \
gpgv \
helm \
heroku \
hugo \
hunspell \
hunspell-he \
hyphen-en-us \
ipcalc \
iproute2 \
iputils-ping \
iputils-tracepath \
jp \
keyutils \
/tmp/kompose.deb \
kops \
krb5-config \
kubectl \
ldap-utils \
less \
libbz2-dev \
libcairo2-dev \
libcap2-bin \
libcurl4-gnutls-dev \
libdbus-1-dev \
libgirepository1.0-dev \
liblcms2-dev \
libldap2-dev \
liblzma-dev \
libmariadb-dev \
libncursesw5-dev \
libnotify-bin \
libpq-dev \
libproj-dev \
libprotobuf-dev \
libreadline-dev \
libsasl2-dev \
libsecret-tools \
libsqlite3-dev \
libwebp-dev \
libxml2-dev \
libxmlsec1-dev \
libyaml-dev \
llvm \
lsof \
lz4 \
man-db \
mariadb-client \
mat2 \
mercurial \
meson \
minikube \
mlocate \
mongodb-database-tools \
mythes-en-us \
netcat-openbsd \
nodejs \
npm \
ostree \
packer \
php-cli \
podman-toolbox \
postgresql-client \
protobuf-compiler \
python3-dev \
python3-pip \
python3-venv \
rclone \
redis-tools \
rename \
reprepro \
rsync \
ruby-dev \
sharutils \
shellcheck \
signify-openbsd \
skopeo \
subversion \
sudo \
swaks \
systemd \
task-english \
task-hebrew \
task-ssh-server \
telnet \
terraform \
time \
tk-dev \
tmux \
tnftp \
transmission-cli \
ttyrec \
udftools \
unison \
vagrant \
vault \
vcdimager \
vim-nox \
w3m-img \
wget \
whois \
zip \
&& \
sed -i 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/; s/# en_IL UTF-8/en_IL UTF-8/; s/# he_IL.UTF-8 UTF-8/he_IL.UTF-8 UTF-8/;' /etc/locale.gen && \
locale-gen && \
ln --symbolic --target /etc/bash_completion.d/ /usr/local/etc/bash_completion.d/* && \
ln --symbolic --target /usr/local/bin/ /usr/libexec/flatpak-xdg-utils/* && \
python3 -m pip install --use-deprecated=legacy-resolver --no-cache-dir \
ansible \
ansible-runner \
awscli \
awslogs \
bcrypt \
black \
bump2version \
colorama \
boto \
boto3 \
check-manifest \
cookiecutter \
cryptography \
dnspython \
docker \
docker-compose \
elasticsearch-curator \
elasticsearch[async] \
fabric \
flit \
github3.py \
Glances \
gunicorn \
hashin \
httpbin \
httpie \
identify \
importlab \
invoke \
iredis \
khal \
khard \
litecli \
magic-wormhole \
mariadb \
mycli \
netaddr \
paramiko \
parse \
passhole \
passlib \
pdm \
pgcli \
pipenv \
poetry \
pre-commit \
protobuf \
psycopg2 \
pur \
pygments \
pymongo \
PyMySQL \
PyGObject \
pyopenssl \
'python-gitlab[autocompletion,yaml]' \
pyxdg \
redis \
remarshal \
requests \
rich-cli \
sh \
template \
todoman \
tox \
transmission-rpc \
&& \
echo pdm-publish pdm-version | xargs -n1 pdm plugin add && \
npm install --global \
corepack \
&& \
export GOPATH=/usr/local/lib/go && \
export PATH="$GOPATH/bin:$PATH" && \
mkdir "$GOPATH" && \
export GO111MODULE=on && \
go install github.com/giantswarm/semver-bump@latest && \
go install github.com/nishanths/license/v5@latest && \
go install github.com/spelufo/on-change@latest && \
go install github.com/kaorimatz/mysqldump-loader@v0.4.1 && \
go install github.com/lucagrulla/cw@latest && \
go install github.com/kvz/json2hcl@latest && \
go install github.com/hashicorp/envconsul@latest && \
go install sigs.k8s.io/kustomize/kustomize/v4@latest && \
wget https://raw.githubusercontent.com/rabbitmq/rabbitmq-server/v3.8.16/deps/rabbitmq_management/bin/rabbitmqadmin -qO /usr/local/bin/rabbitmqadmin && \
chmod +x /usr/local/bin/rabbitmqadmin && \
mkdir /usr/local/share/bfg && \
wget 'https://search.maven.org/remote_content?g=com.madgag&a=bfg&v=LATEST' -qO /usr/local/share/bfg/bfg.jar && \
curl --silent --location --fail --show-error "https://github.com/genuinetools/reg/releases/download/v0.16.1/reg-$(go env GOOS)-$(go env GOARCH)" --output /tmp/reg && \
install -o root -g root -m 0755 /tmp/reg /usr/local/bin/reg && \
curl --silent --location --fail --show-error "https://github.com/rancher/rke/releases/download/v1.3.8/rke_$(go env GOOS)-$(go env GOARCH)" --output /tmp/rke && \
install -o root -g root -m 0755 /tmp/rke /usr/local/bin/rke && \
_PIPENV_COMPLETE=bash_source pipenv > /etc/bash_completion.d/pipenv && \
rabbitmqadmin --bash-completion > /etc/bash_completion.d/rabbitmqadmin && \
poetry completions bash > /etc/bash_completion.d/poetry && \
register-python-argcomplete gitlab > /etc/bash_completion.d/gitlab && \
invoke --print-completion-script bash > /etc/bash_completion.d/invoke && \
fab --print-completion-script bash > /etc/bash_completion.d/fabric && \
helm completion bash > /etc/bash_completion.d/helm && \
semver-bump completion bash > /etc/bash_completion.d/semver-bump && \
pdm completion bash > /etc/bash_completion.d/pdm && \
kompose completion bash > /etc/bash_completion.d/kompose && \
skaffold completion bash > /etc/bash_completion.d/skaffold && \
kustomize completion bash > /etc/bash_completion.d/kustomize && \
wget https://raw.githubusercontent.com/docker/compose/1.29.2/contrib/completion/bash/docker-compose -qO /etc/bash_completion.d/docker-compose && \
wget https://raw.githubusercontent.com/ansible-community/molecule/1.25.1/asset/bash_completion/molecule.bash-completion.sh -qO /etc/bash_completion.d/molecule && \
wget https://github.com/mrolli/packer-bash-completion/raw/master/packer -qO /etc/bash_completion.d/packer && \
git clone https://github.com/asdf-vm/asdf.git /opt/asdf && \
ln --symbolic --target /etc/profile.d/ /opt/asdf/asdf.sh && \
ln --symbolic /opt/asdf/completions/asdf.bash /etc/bash_completion.d/asdf && \
mkdir -p /usr/local/share/ca-certificates && \
wget https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem -qO - | \
awk '/-----BEGIN[A-Z0-9 ]*CERTIFICATE-----/ {n++} n > 0 {print > ("/usr/local/share/ca-certificates/rds-" (1+n) ".crt")}' && \
update-ca-certificates && \
mkdir /etc/krb5.conf.d && \
echo 'VARIANT_ID=container' >> /etc/os-release && \
echo "export PATH=$GOPATH/bin:\$PATH" > /etc/profile.d/workbench.sh && \
touch /etc/localtime && \
# pragma: allowlist nextline secret
sed -i -e 's/ ALL$/ NOPASSWD:ALL/' /etc/sudoers && \
install -d -m 777 /keybase && \
rm /etc/ssh/ssh_host_* && \
rm -rf /tmp/* /var/tmp/* /var/lib/apt/lists/* /var/cache/apt/archives/* ~/.cache/*
COPY --chown=root:root bfg /usr/local/bin/
COPY --chown=root:root gnome-open /usr/local/bin/
COPY --chown=root:root bash_completion.d/* /etc/bash_completion.d/
LABEL com.github.containers.toolbox="true" \
com.github.debarshiray.toolbox="true"
ENV PATH /usr/local/lib/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV ASDF_DIR /opt/asdf
VOLUME /run/sshd
CMD ["/bin/bash"]