docker/Dockerfile_rat.erb (45 lines of code) (raw):
################################################################################
# Set default values; ARG has to be restated in the versions below
################################################################################
ARG ansible_version=9.1.0
ARG terraform_version=1.5.5
################################################################################
# Download Untrusted Sources and Validate
################################################################################
FROM debian:12-slim as verify
ARG ansible_version
ARG terraform_version
RUN apt-get -y update
RUN apt-get install -y gpg
RUN apt-get install -y curl
RUN apt-get install -y unzip
RUN mkdir -p /tmpverify
WORKDIR /tmpverify
RUN curl -Os https://releases.hashicorp.com/terraform/${terraform_version}/terraform_${terraform_version}_linux_amd64.zip
RUN curl -Os https://releases.hashicorp.com/terraform/${terraform_version}/terraform_${terraform_version}_SHA256SUMS
RUN curl -Os https://releases.hashicorp.com/terraform/${terraform_version}/terraform_${terraform_version}_SHA256SUMS.sig
COPY gitlab_provisioner/hashicorp.key /tmpverify/hashicorp.key
RUN gpg --import hashicorp.key
RUN gpg --verify terraform_${terraform_version}_SHA256SUMS.sig terraform_${terraform_version}_SHA256SUMS
RUN grep terraform_${terraform_version}_linux_amd64.zip terraform_${terraform_version}_SHA256SUMS > linux_checksum_SHA256
RUN sha256sum -c linux_checksum_SHA256
RUN unzip terraform_${terraform_version}_linux_amd64.zip
################################################################################
# Tool Installation
################################################################################
FROM debian:12-slim as builder
ARG ansible_version
# Install Applications
RUN apt-get -y update
RUN apt-get -y upgrade
RUN apt-get install -y python3 python3-pip jq ruby git wget libffi-dev
RUN pip3 --no-cache-dir install ansible==${ansible_version} ansible-lint --break-system-packages
RUN apt-get autoremove -y
COPY --from=verify /tmpverify/terraform /usr/local/bin/terraform
################################################################################
# Create Final Image
################################################################################
FROM scratch
MAINTAINER GitLab Inc. <support@gitlab.com>
COPY --from=builder / /
CMD ["/bin/bash"]