Skip to content
Snippets Groups Projects
Select Git revision
  • 86e0e33ad324f881384b8316b9bc6f118b6c8feb
  • master default
  • ci-debug
3 results

Dockerfile

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