opentofu/.github/workflows/build-Dockerfile
Jordan Gregory 913578a9f4
(#721) remove reference to Hashicorp docker mirror in workflow (#723)
Signed-off-by: Jordan Gregory <jordan@j4ng5y.dev>
2023-10-13 17:59:02 +02:00

42 lines
1.6 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 "tofu" executable
# in the dist/linux/${TARGETARCH} directory.
FROM docker.io/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=tofu
# 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 "tofu" executable
# into dist/linux/${TARGETARCH} for us to use.
ARG TARGETARCH
LABEL maintainer="OpenTofu Team"
# New standard version label.
LABEL version=$PRODUCT_VERSION
# Historical OpenTofu-specific label preserved for backward compatibility.
LABEL "com.tofu.version"="${PRODUCT_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}/tofu", "/bin/tofu"]
ENTRYPOINT ["/bin/tofu"]