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"]