Select Git revision
.pre-commit-config.yaml
Dockerfile 10.61 KiB
# hadolint global ignore=DL4001
# hadolint ignore=DL3007
FROM registry.shore.co.il/toolbx:latest as temp
RUN curl https://github.com/duckdb/duckdb/releases/download/v1.0.0/duckdb_cli-linux-amd64.zip --output /tmp/duckdb.zip && \
unzip /tmp/duckdb.zip duckdb -d /tmp/ && \
install -m 755 -o root -g root /tmp/duckdb /usr/local/bin/duckdb
# hadolint ignore=DL3007
FROM registry.shore.co.il/toolbx:latest
COPY --from=temp /usr/local/bin/duckdb /usr/local/bin/
SHELL ["/bin/bash", "-o", "pipefail", "-xc"]
ENV PATH /opt/pipx/bin:/usr/local/lib/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# hadolint ignore=DL3008
RUN apt-get update && \
curl "https://github.com/kubernetes/kompose/releases/download/v1.26.1/kompose_1.26.1_$(dpkg --print-architecture).deb" --output /tmp/kompose.deb && \
curl https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb --output /tmp/session-manager-plugin.deb && \
DEBIAN_FRONTEND=noninteractive apt-get install --yes --no-install-recommends \
/tmp/kompose.deb \
/tmp/session-manager-plugin.deb \
adb \
apache2-utils \
aspell-he \
at \
aws-vault \
bash-completion \
bats \
bc \
build-essential \
bundler \
bzr \
ca-certificates \
clickhouse-client \
cmake \
composer \
consul=1.16.4-1 \
curl \
dbus-x11 \
default-jdk-headless \
devscripts \
direnv \
dirmngr \
dnsutils \
docker.io \
dos2unix \
easy-rsa \
entr \
expect \
flatpak \
flatpak-builder \
flatpak-xdg-utils \
fuse3 \
gdal-bin \
gettext-base \
gh \
gir1.2-glib-2.0 \
gir1.2-ostree-1.0 \
git \
gnupg \
go-md2man \
gobjc++ \
golang \
gomplate \
google-cloud-cli-skaffold \
google-cloud-sdk \
gpgv \
helm \
hugo \
hunspell \
hunspell-he \
hyphen-en-us \
ipcalc \
iproute2 \
iputils-ping \
iputils-tracepath \
jp \
jq \
keyutils \
kops \
krb5-config \
kubectl \
ldap-utils \
less \
libbz2-dev \
libcairo2-dev \
libcap2-bin \
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 \
mongodb-database-tools \
mythes-en-us \
netcat-openbsd \
nodejs \
npm \
ostree \
packer=1.9.5-1 \
php-cli \
pigz \
plocate \
postgresql-client \
protobuf-compiler \
python3-dev \
python3-pip \
python3-venv \
rclone \
redis-tools \
rename \
reprepro \
rsync \
ruby-dev \
sharutils \
shellcheck \
signify-openbsd \
skopeo \
sops \
subversion \
sudo \
swaks \
systemd \
task-english \
task-hebrew \
task-ssh-server \
telnet \
terraform=1.5.7-1 \
time \
tk-dev \
tmux \
tnftp \
tofu \
transmission-cli \
tree \
ttyrec \
udftools \
unzip \
vagrant=2.3.7-1 \
vault=1.14.8-1 \
vcdimager \
vim-nox \
w3m-img \
wget \
whois \
xauth \
xdg-user-dirs \
zip \
&& \
rm /etc/ssh/ssh_host_* && \
rm -rf /tmp/* /var/tmp/* /var/lib/apt/lists/* /var/cache/apt/archives/*
ENV PIPX_HOME /opt/pipx
ENV PIPX_BIN_DIR /opt/pipx/bin
# hadolint ignore=DL3013
RUN python3 -m pip install --no-cache-dir --break-system-packages \
https://github.com/aws/aws-cli/archive/refs/heads/v2.zip \
Glances \
PyGObject \
PyMySQL \
'ansible>=10' \
ansible-runner \
awslogs \
bcrypt \
black \
boto \
boto3 \
bump2version \
check-manifest \
colorama \
cookiecutter \
cryptography \
dnspython \
docker \
fabric \
flit \
github3.py \
gunicorn \
hashin \
httpbin \
httpie \
identify \
importlab \
invoke \
iredis \
khal \
khard \
litecli \
magic-wormhole \
mycli \
netaddr \
opensearch-py[async] \
paramiko \
parse \
passhole \
passlib \
pgcli \
pip-tools \
pipenv \
pipx \
poetry \
pre-commit \
protobuf \
psycopg2 \
pur \
pygments \
pymongo \
pyopenssl \
'python-gitlab[autocompletion,yaml]' \
python-hcl2 \
pyxdg \
redis \
remarshal \
requests \
rich-cli \
sdbus-notifications \
sh \
sqlite-utils \
template \
terraformation \
todoman \
tox \
transmission-rpc \
ziglang \
&& \
pipx install chalice && \
pipx install curator-opensearch && \
rm -rf /tmp/* /var/tmp/* ~/.cache/*
ENV COREPACK_HOME=/usr/local/share/corepack
# hadolint ignore=DL3016
RUN npm install --global \
@bitwarden/cli \
@playwright/test \
corepack \
&& \
chown -R root:root /usr/local/lib/node_modules/@bitwarden/cli/node_modules/ && \
corepack install --global yarn && \
rm -rf /tmp/* /var/tmp/* ~/.cache/*
RUN export GOPATH=/usr/local/lib/go && \
mkdir "$GOPATH" && \
export GO111MODULE=on && \
go install github.com/1player/host-spawn@latest && \
go install github.com/aquaproj/aqua/v2/cmd/aqua@latest && \
go install github.com/giantswarm/semver-bump@latest && \
go install github.com/hashicorp/envconsul@latest && \
go install github.com/kaorimatz/mysqldump-loader@v0.4.1 && \
go install github.com/kvz/json2hcl@latest && \
go install github.com/lucagrulla/cw@latest && \
go install github.com/nektos/act@latest && \
go install github.com/nishanths/license/v5@latest && \
go install github.com/spelufo/on-change@latest && \
go install golang.org/x/tools/cmd/gonew@latest && \
go install sigs.k8s.io/kustomize/kustomize/v5@latest && \
rm -rf /tmp/* /var/tmp/* ~/.cache/*
# hadolint ignore=SC2263
RUN install -m 0755 <(curl https://raw.githubusercontent.com/rabbitmq/rabbitmq-server/v3.12.6/deps/rabbitmq_management/bin/rabbitmqadmin) /usr/local/bin/rabbitmqadmin && \
install -m 0755 <(curl "https://github.com/docker/compose/releases/download/v2.22.0/docker-compose-linux-$(uname -m)") /usr/local/bin/docker-compose && \
install -m 0755 <(curl "https://github.com/genuinetools/reg/releases/download/v0.16.1/reg-$(go env GOOS)-$(go env GOARCH)") /usr/local/bin/reg && \
install -m 0755 <(curl "https://github.com/rancher/rke/releases/download/v1.4.10/rke_$(go env GOOS)-$(go env GOARCH)") /usr/local/bin/rke && \
install -m 0755 <(curl "https://pkgx.sh/Linux/$(uname -m)") /usr/local/bin/pkgx && \
mkdir /usr/local/share/bfg && \
install <(curl 'https://repo1.maven.org/maven2/com/madgag/bfg/1.14.0/bfg-1.14.0.jar') /usr/local/share/bfg/bfg.jar && \
curl https://github.com/SelfAdjointOperator/better-adb-sync/archive/refs/heads/master.tar.gz | tar -zxC /opt/ && \
ln --symbolic /opt/better-adb-sync-master/src/adbsync.py /usr/local/bin/adbsync && \
curl https://github.com/asdf-vm/asdf/archive/refs/heads/master.tar.gz | tar -zxC /opt/ && \
ln --symbolic --target /etc/profile.d/ /opt/asdf-master/asdf.sh && \
echo "export PATH=$PIPX_BIN_DIR:/usr/local/lib/go/bin:\$PATH" > /etc/profile.d/workbench.sh && \
rm -rf /tmp/* /var/tmp/* ~/.cache/*
RUN _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 && \
register-python-argcomplete pipx -s bash > /etc/bash_completion.d/pipx && \
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 && \
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 && \
wget https://raw.githubusercontent.com/dsifford/yarn-completion/v0.17.0/yarn-completion.bash -qO /etc/bash_completion.d/yarn && \
wget https://github.com/containers/podman/raw/main/completions/bash/podman -qO /etc/bash_completion.d/podman && \
#wget https://raw.githubusercontent.com/ziglang/shell-completions/master/_zig -qO /etc/bash_completion.d/zig && \
ln --symbolic /opt/asdf-master/completions/asdf.bash /etc/bash_completion.d/asdf && \
rm -rf /tmp/* /var/tmp/* ~/.cache/*
RUN 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 && \
# pragma: allowlist nextline secret
rm -rf /tmp/* /var/tmp/* ~/.cache/*
COPY --chown=root:root bash_completion.d/* /etc/bash_completion.d/
COPY --chown=root:root bin/* /usr/local/bin/
ENV ASDF_DIR /opt/asdf-master
VOLUME /run/sshd
CMD ["/bin/bash"]