diff --git a/Dockerfile b/Dockerfile index 676e175..7cf311a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,148 +1,34 @@ -# This is a multi-stage build which requires Docker 17.05 or higher -FROM docker.io/alpine:edge as molecule-builder +FROM debian:buster -WORKDIR /usr/src/molecule +LABEL maintainer="decentral1se" -# WARNING: Reasons not to add edge/testing: -# * Breaks security scanning due to https://github.com/quay/clair/issues/901 -# * Unreliable builds, as alpinelinux CDN is unreliable for edge, returning 404 -# quite often. -# edge/testing needed for: py3-arrow -RUN apk add -v --progress --update --no-cache \ -bash \ -docker-py \ -gcc \ -git \ +ENV DEBIAN_FRONTEND noninteractive + +RUN apt-get update \ +&& apt-get install -y --no-install-recommends \ +build-essential \ libffi-dev \ -libvirt \ -libvirt-dev \ -make \ -musl-dev \ -openssl-dev \ -py3-bcrypt \ -py3-botocore \ -py3-certifi \ -py3-cffi \ -py3-chardet \ -py3-click \ -py3-colorama \ -py3-cryptography \ -py3-distlib \ -py3-docutils \ -py3-flake8 \ -py3-future \ -py3-idna \ -py3-jinja2 \ -py3-libvirt \ -py3-markupsafe \ -py3-mccabe \ -py3-netifaces \ -py3-paramiko \ -py3-pbr \ -py3-pip \ -py3-pluggy \ -py3-psutil \ -py3-ptyprocess \ -py3-py \ -py3-pycodestyle \ -py3-pynacl \ -py3-pytest \ -py3-requests \ -py3-ruamel \ -py3-setuptools \ -py3-simplejson \ -py3-urllib3 \ -py3-virtualenv \ -py3-websocket-client \ -py3-yaml \ -python3 \ -python3-dev - -# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=917006 -RUN \ -python3 -m pip install -U wheel pip setuptools - -ADD . . +libssl-dev \ +python3-dev \ +python3-pip \ +python3-setuptools \ +python3-wheel \ +sudo \ +wget \ +&& rm -rf /var/lib/apt/lists/* \ +&& rm -Rf /usr/share/doc && rm -Rf /usr/share/man \ +&& apt-get clean RUN \ -python3 -m pip wheel \ --w dist \ -molecule testinfra molecule-hetznercloud molecule-docker ansible ansible-lint - -RUN ls -1 dist/ - -# ✄--------------------------------------------------------------------- -# This is an actual target container: - -FROM alpine:edge -LABEL maintainer="decentral1se " - -ENV PACKAGES="\ -bash \ -docker \ -git \ -openssh-client \ -docker-py \ -libvirt \ -rsync \ -py3-bcrypt \ -py3-botocore \ -py3-certifi \ -py3-cffi \ -py3-chardet \ -py3-click \ -py3-colorama \ -py3-cryptography \ -py3-docutils \ -py3-flake8 \ -py3-idna \ -py3-jinja2 \ -py3-mccabe \ -py3-netifaces \ -py3-paramiko \ -py3-pbr \ -py3-pip \ -py3-pluggy \ -py3-psutil \ -py3-ptyprocess \ -py3-py \ -py3-pycodestyle \ -py3-pynacl \ -py3-pytest \ -py3-requests \ -py3-ruamel \ -py3-setuptools \ -py3-urllib3 \ -py3-virtualenv \ -py3-websocket-client \ -python3 \ -" - -ENV BUILD_DEPS="\ -gcc \ -libc-dev \ -libvirt-dev \ -make \ -" - -ENV PIP_INSTALL_ARGS="\ ---only-binary :all: \ ---no-index \ --f /usr/src/molecule/dist \ -" - -RUN \ -apk add --update --no-cache \ -${BUILD_DEPS} ${PACKAGES} \ -&& apk del --no-cache ${BUILD_DEPS} \ -&& rm -rf /root/.cache - -COPY --from=molecule-builder \ -/usr/src/molecule/dist \ -/usr/src/molecule/dist +python3 -m pip install -U \ +pip \ +setuptools RUN \ python3 -m pip install \ -molecule testinfra molecule-hetznercloud molecule-docker ansible ansible-lint - -ENV SHELL /bin/bash +ansible \ +ansible-lint \ +molecule \ +molecule-docker \ +molecule-hetznercloud \ +testinfra diff --git a/makefile b/makefile new file mode 100644 index 0000000..6f606d2 --- /dev/null +++ b/makefile @@ -0,0 +1,7 @@ +default: push + +build: + @docker build -t decentral1se/molecule:latest . + +push: build + @docker push decentral1se/molecule:latest