-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
executable file
·36 lines (29 loc) · 1.26 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# TODO: add labels - auther etc
# TODO: create non-root user
ARG PYTHON_TAG=3.13-alpine3.21
FROM python:${PYTHON_TAG}
# base dev tool dependencies
RUN apk add --no-cache curl libffi-dev openssl-dev musl-dev gcc unzip make cmake g++ \
libc-dev gpg gpg-agent postgresql-client git openssh-client
# TODO: Specific version...
# Docker tooling
RUN apk add --no-cache docker-cli
RUN curl -fLO https://storage.googleapis.com/container-structure-test/latest/container-structure-test-linux-amd64 \
&& chmod +x container-structure-test-linux-amd64 \
&& mv container-structure-test-linux-amd64 /usr/local/bin/container-structure-test
# Python tooling
ENV POETRY_VERSION 1.8.4
ENV PATH "/root/.local/bin:$PATH"
RUN curl -sSL https://install.python-poetry.org | python3 -
# Terraform
# TODO: using bashrc for non-bash shell???
ARG TERRAFORM_VERSION=1.4.4
RUN curl --ignore-content-length -fo terraform.zip "https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_amd64.zip" \
&& unzip terraform.zip \
&& mv terraform /usr/bin/terraform \
&& rm terraform.zip
# AWS tooling (including linter)
ARG CFN_NAG_VERSION="0.8.9"
RUN apk add aws-cli ruby ruby-dev \
&& pip3 install awscli-local \
&& gem install cfn-nag --version ${CFN_NAG_VERSION}