51 lines
No EOL
1.5 KiB
Docker
51 lines
No EOL
1.5 KiB
Docker
FROM library/python:3.12-bullseye
|
|
# Personal access token 'mist _runner'
|
|
ENV GITHUB_PAT=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
|
|
ENV TERRAFORM_VERSION=1.6.6
|
|
|
|
|
|
ARG USER=vscode
|
|
ARG DEBIAN_FRONTEND=noninteractive
|
|
|
|
# Install system dependencies in a single layer
|
|
RUN apt update && apt install -y --no-install-recommends \
|
|
sudo jq vim curl\
|
|
&& apt autoremove -y \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Create the user and grant sudo privileges
|
|
RUN useradd -m -s /bin/bash ${USER} \
|
|
&& echo "${USER} ALL=(ALL) NOPASSWD: ALL" >/etc/sudoers.d/${USER} \
|
|
&& chmod 0440 /etc/sudoers.d/${USER}
|
|
|
|
# Install Poetry
|
|
RUN pip install --no-cache-dir poetry
|
|
|
|
|
|
# Install Node.js 22 (from NodeSource)
|
|
RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \
|
|
&& apt install -y nodejs \
|
|
&& node -v \
|
|
&& npm -v
|
|
|
|
# Install Atlas CLI
|
|
RUN curl -sSf https://atlasgo.sh | sh
|
|
|
|
|
|
# Install aws
|
|
RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
|
|
RUN unzip awscliv2.zip
|
|
RUN ./aws/install
|
|
|
|
# Install terraform
|
|
RUN apt-get update && sudo apt-get install -y gnupg software-properties-common
|
|
RUN wget https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_amd64.zip \
|
|
&& unzip terraform_${TERRAFORM_VERSION}_linux_amd64.zip \
|
|
&& mv terraform /usr/local/bin/terraform \
|
|
&& rm terraform_${TERRAFORM_VERSION}_linux_amd64.zip
|
|
|
|
RUN terraform version
|
|
|
|
|
|
# Set the working directory
|
|
WORKDIR /workspaces/monorepo |