ContainerImage.PackerExtended/Dockerfile.alpine
2020-12-30 11:58:00 +01:00

64 lines
2.6 KiB
Docker

# Error in 1.6.2 regarding packer_cache - see https://git.io/JUCwk
#FROM hashicorp/packer:light as packer
FROM hashicorp/packer:1.6.1 as packer
FROM hashicorp/terraform:light as terraform
FROM alpine:latest AS download
RUN apk --update add --no-cache \
curl \
jq && \
curl -L https://api.github.com/repos/powershell/powershell/releases/latest | \
jq -r '.assets[] | select(.name | contains("linux-alpine-x64"))| .browser_download_url' | \
xargs -I {} curl -L -o /tmp/powershell.tar.gz {} && \
mkdir -p /opt/microsoft/powershell/7 && \
tar -xzf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 && \
chmod +x /opt/microsoft/powershell/7/pwsh && \
curl -L https://api.github.com/repos/rgl/packer-provisioner-windows-update/releases/latest | \
jq -r '.assets[] | select(.name | contains("linux_amd64")) | .browser_download_url' | \
xargs -I {} curl -L -o /tmp/packer-provisioner-windows-update.tar.gz {} && \
tar -xzf /tmp/packer-provisioner-windows-update.tar.gz -C /tmp && \
chmod +x /tmp/packer-provisioner-windows-update
FROM ubuntu:latest AS build
ENV OVFTOOL_VERSION=4.4.1-16812187
ENV OVFTOOL_INSTALLER=VMware-ovftool-${OVFTOOL_VERSION}-lin.x86_64.bundle
ENV OVFTOOL_SHA256=ecdb3dcb58494d643d35661dcda948025661ec12ce615f043e1ec5d4c85de2ce
ARG RT_USERNAME
ARG RT_PASSWORD
ADD https://${RT_USERNAME}:${RT_PASSWORD}@devstore.vanderlande.com:443/artifactory/nlveg-mvn-release-local-01/com/vanderlande/itproj/3rd_party/applications/vmware/ovftool/${OVFTOOL_INSTALLER} /tmp
RUN echo "${OVFTOOL_SHA256} /tmp/${OVFTOOL_INSTALLER}" | sha256sum -c - && \
sh /tmp/${OVFTOOL_INSTALLER} -p /tmp/ovftool --console --eulas-agreed --required
FROM ruby:alpine
COPY --from=packer /bin/packer /bin/packer
COPY --from=terraform /bin/terraform /bin/terraform
COPY --from=download /opt/microsoft/powershell /opt/microsoft/powershell
COPY --from=download /tmp/packer-provisioner-windows-update /bin/packer-provisioner-windows-update
COPY --from=build /tmp/ovftool/lib/vmware-ovftool /usr/lib/vmware-ovftool
RUN apk --update add --no-cache \
ansible \
build-base \
curl \
git \
icu-libs \
jq \
libxml2-dev \
# libxml2-utils \
libffi-dev \
netcat-openbsd \
openssh-client \
unzip && \
gem install inspec && \
gem install inspec-bin && \
apk del build-base && \
ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh && \
pwsh -Command "Set-PSRepository -Name 'PSGallery' -InstallationPolicy 'Trusted' -Verbose" && \
pwsh -Command "Install-Module -Name 'VMware.PowerCLI' -Verbose"
ENTRYPOINT []
CMD []