42 lines
1.7 KiB
Plaintext
42 lines
1.7 KiB
Plaintext
|
# This Dockerfile is not intended for general use, but is rather used to
|
||
|
# produce our "light" release packages as part of our official release
|
||
|
# pipeline.
|
||
|
#
|
||
|
# If you want to test this locally you'll need to set the three arguments
|
||
|
# to values realistic for what the hashicorp/actions-docker-build GitHub
|
||
|
# action would set, and ensure that there's a suitable "terraform" executable
|
||
|
# in the dist/linux/${TARGETARCH} directory.
|
||
|
|
||
|
FROM docker.mirror.hashicorp.services/alpine:latest AS default
|
||
|
|
||
|
# This is intended to be run from the hashicorp/actions-docker-build GitHub
|
||
|
# action, which sets these appropriately based on context.
|
||
|
ARG PRODUCT_VERSION=UNSPECIFIED
|
||
|
ARG PRODUCT_REVISION=UNSPECIFIED
|
||
|
ARG BIN_NAME=terraform
|
||
|
|
||
|
# This argument is set by the Docker toolchain itself, to the name
|
||
|
# of the CPU architecture we're building an image for.
|
||
|
# Our caller should've extracted the corresponding "terraform" executable
|
||
|
# into dist/linux/${TARGETARCH} for us to use.
|
||
|
ARG TARGETARCH
|
||
|
|
||
|
LABEL maintainer="HashiCorp Terraform Team <terraform@hashicorp.com>"
|
||
|
|
||
|
# New standard version label.
|
||
|
LABEL version=$VERSION
|
||
|
|
||
|
# Historical Terraform-specific label preserved for backward compatibility.
|
||
|
LABEL "com.hashicorp.terraform.version"="${VERSION}"
|
||
|
|
||
|
RUN apk add --no-cache git openssh
|
||
|
|
||
|
# The hashicorp/actions-docker-build GitHub Action extracts the appropriate
|
||
|
# release package for our target architecture into the current working
|
||
|
# directory before running "docker build", which we'll then copy into the
|
||
|
# Docker image to make sure that we use an identical binary as all of the
|
||
|
# other official release channels.
|
||
|
COPY ["dist/linux/${TARGETARCH}/terraform", "/bin/terraform"]
|
||
|
|
||
|
ENTRYPOINT ["/bin/terraform"]
|