diff --git a/build/Dockerfile.ansible b/build/Dockerfile.ansible index fa7c3dc9..a1666bb5 100644 --- a/build/Dockerfile.ansible +++ b/build/Dockerfile.ansible @@ -1,6 +1,7 @@ ARG EASY_INFRA_TAG -FROM seiso/easy_infra_base:"${EASY_INFRA_TAG}" AS ansible +ARG TARGETPLATFORM +FROM --platform=$TARGETPLATFORM seiso/easy_infra_base:"${EASY_INFRA_TAG}" AS ansible ARG ANSIBLE_VERSION ENV ANSIBLE_VERSION="${ANSIBLE_VERSION}" diff --git a/build/Dockerfile.ansible-aws b/build/Dockerfile.ansible-aws index d6415a89..f34a6bf7 100644 --- a/build/Dockerfile.ansible-aws +++ b/build/Dockerfile.ansible-aws @@ -1,6 +1,7 @@ ARG EASY_INFRA_TAG_TOOL_ONLY -FROM seiso/easy_infra:"${EASY_INFRA_TAG_TOOL_ONLY}" AS ansible-aws +ARG TARGETPLATFORM +FROM --platform=$TARGETPLATFORM seiso/easy_infra:"${EASY_INFRA_TAG_TOOL_ONLY}" AS ansible-aws SHELL ["/bin/bash", "-o", "pipefail", "-c"] RUN ansible-galaxy collection install amazon.aws diff --git a/build/Dockerfile.ansible-azure b/build/Dockerfile.ansible-azure index 0a5c8f11..f3cc8f6c 100644 --- a/build/Dockerfile.ansible-azure +++ b/build/Dockerfile.ansible-azure @@ -1,6 +1,7 @@ ARG EASY_INFRA_TAG_TOOL_ONLY -FROM seiso/easy_infra:"${EASY_INFRA_TAG_TOOL_ONLY}" AS ansible-azure +ARG TARGETPLATFORM +FROM --platform=$TARGETPLATFORM seiso/easy_infra:"${EASY_INFRA_TAG_TOOL_ONLY}" AS ansible-azure SHELL ["/bin/bash", "-o", "pipefail", "-c"] RUN ansible-galaxy collection install azure.azcollection diff --git a/build/Dockerfile.aws-cli b/build/Dockerfile.aws-cli index 37844b59..60921b0b 100644 --- a/build/Dockerfile.aws-cli +++ b/build/Dockerfile.aws-cli @@ -1,6 +1,7 @@ ARG EASY_INFRA_TAG -FROM seiso/easy_infra_base:"${EASY_INFRA_TAG}" AS aws-cli +ARG TARGETPLATFORM +FROM --platform=$TARGETPLATFORM seiso/easy_infra_base:"${EASY_INFRA_TAG}" AS aws-cli ARG AWS_CLI_ARCH ARG AWS_CLI_VERSION diff --git a/build/Dockerfile.azure-cli b/build/Dockerfile.azure-cli index a1c70750..6c299c6f 100644 --- a/build/Dockerfile.azure-cli +++ b/build/Dockerfile.azure-cli @@ -1,6 +1,7 @@ ARG EASY_INFRA_TAG -FROM seiso/easy_infra_base:"${EASY_INFRA_TAG}" AS azure-cli +ARG TARGETPLATFORM +FROM --platform=$TARGETPLATFORM seiso/easy_infra_base:"${EASY_INFRA_TAG}" AS azure-cli ARG AZURE_CLI_VERSION ENV AZURE_CLI_VERSION="${AZURE_CLI_VERSION}" diff --git a/build/Dockerfile.base b/build/Dockerfile.base index cee10b60..a8523fc1 100644 --- a/build/Dockerfile.base +++ b/build/Dockerfile.base @@ -7,8 +7,10 @@ ARG EASY_INFRA_TAG # https://docs.docker.com/engine/reference/builder/#scope ARG EASY_INFRA_TAG_TOOL_ONLY +# TARGETPLATFORM is special cased by docker and doesn't need the initial ARG +# https://docs.docker.com/engine/reference/builder/#automatic-platform-args-in-the-global-scope # The dockerfile base must start with FROM ... AS base -FROM "${FROM_IMAGE}":"${FROM_IMAGE_TAG}" AS base +FROM --platform=$TARGETPLATFORM "${FROM_IMAGE}":"${FROM_IMAGE_TAG}" AS base ARG BUILDARCH ARG TRACE="false" diff --git a/build/Dockerfile.checkov b/build/Dockerfile.checkov index 02ab160b..f954d3a7 100644 --- a/build/Dockerfile.checkov +++ b/build/Dockerfile.checkov @@ -1,6 +1,7 @@ ARG EASY_INFRA_TAG -FROM seiso/easy_infra_base:"${EASY_INFRA_TAG}" AS checkov +ARG TARGETPLATFORM +FROM --platform=$TARGETPLATFORM seiso/easy_infra_base:"${EASY_INFRA_TAG}" AS checkov ARG CHECKOV_VERSION ENV CHECKOV_VERSION="${CHECKOV_VERSION}" diff --git a/build/Dockerfile.j2 b/build/Dockerfile.j2 index aa32c044..099bfa22 100644 --- a/build/Dockerfile.j2 +++ b/build/Dockerfile.j2 @@ -25,7 +25,8 @@ ARG {{ argument }} {{ dockerfile }} {% endfor %} -FROM base as final +ARG TARGETPLATFORM +FROM --platform=$TARGETPLATFORM base as final USER easy_infra diff --git a/build/Dockerfile.kics b/build/Dockerfile.kics index f1486ca7..39d3d9bb 100644 --- a/build/Dockerfile.kics +++ b/build/Dockerfile.kics @@ -1,6 +1,7 @@ ARG KICS_VERSION -FROM checkmarx/kics:"${KICS_VERSION}-debian" AS kics +ARG TARGETPLATFORM +FROM --platform=$TARGETPLATFORM checkmarx/kics:"${KICS_VERSION}-debian" AS kics ARG KICS_VERSION ENV KICS_VERSION="${KICS_VERSION}" diff --git a/build/Dockerfile.opentofu b/build/Dockerfile.opentofu index 0949926d..36343919 100644 --- a/build/Dockerfile.opentofu +++ b/build/Dockerfile.opentofu @@ -1,6 +1,7 @@ ARG EASY_INFRA_TAG -FROM seiso/easy_infra_base:"${EASY_INFRA_TAG}" AS opentofu +ARG TARGETPLATFORM +FROM --platform=$TARGETPLATFORM seiso/easy_infra_base:"${EASY_INFRA_TAG}" AS opentofu ARG BUILDARCH ARG OPENTOFU_VERSION diff --git a/build/Dockerfile.terraform b/build/Dockerfile.terraform index b0ffe1c0..93029cfa 100644 --- a/build/Dockerfile.terraform +++ b/build/Dockerfile.terraform @@ -1,6 +1,7 @@ ARG EASY_INFRA_TAG -FROM seiso/easy_infra_base:"${EASY_INFRA_TAG}" AS terraform +ARG TARGETPLATFORM +FROM --platform=$TARGETPLATFORM seiso/easy_infra_base:"${EASY_INFRA_TAG}" AS terraform ARG BUILDARCH ARG TERRAFORM_VERSION