# syntax = docker/dockerfile:experimental
# Interim container so we can copy pulumi binaries
# Must be defined first
ARG PULUMI_VERSION=latest
ARG PULUMI_IMAGE=pulumi/pulumi-base
ARG RUNTIME_VERSION=1.16.2
FROM ${PULUMI_IMAGE}:${PULUMI_VERSION}-alpine as pulumi

# The runtime container
FROM golang:${RUNTIME_VERSION}-alpine3.12
WORKDIR /pulumi/projects

# Install needed tools, like git
RUN apk update && \
    apk upgrade && \
    apk add \
    git \
    libc6-compat \
    ca-certificates; \
    mkdir -p /go

# Uses the workdir, copies from pulumi interim container
COPY --from=pulumi /pulumi/bin/pulumi /pulumi/bin/pulumi
COPY --from=pulumi /pulumi/bin/pulumi-language-go /pulumi/bin/pulumi-language-go
COPY --from=pulumi /pulumi/bin/pulumi-analyzer-policy /pulumi/bin/pulumi-analyzer-policy
ENV GOPATH=/go
ENV PATH "/pulumi/bin:${PATH}"

CMD ["pulumi"]
