55 lines
2.1 KiB
Plaintext
55 lines
2.1 KiB
Plaintext
FROM docker.io/python:3.12-alpine@sha256:c793b92fd9e0e2a0b611756788a033d569ca864b733461c8fb30cfd14847dbcf
|
|
|
|
LABEL maintainer="Robert Kaussow <mail@thegeeklab.de>"
|
|
LABEL org.opencontainers.image.authors="Robert Kaussow <mail@thegeeklab.de>"
|
|
LABEL org.opencontainers.image.title="molecule"
|
|
LABEL org.opencontainers.image.url="https://gitea.rknet.org/container/molecule"
|
|
LABEL org.opencontainers.image.source="https://gitea.rknet.org/container/molecule"
|
|
LABEL org.opencontainers.image.documentation="https://gitea.rknet.org/container/molecule"
|
|
|
|
ARG ANSIBLE_VERSION
|
|
ARG MOLECULE_VERSION
|
|
|
|
# renovate: datasource=pypi depName=molecule
|
|
ENV MOLECULE_VERSION="${MOLECULE_VERSION:-6.0.3}"
|
|
# renovate: datasource=pypi depName=ansible
|
|
ENV ANSIBLE_VERSION="${ANSIBLE_VERSION:-9.1.0}"
|
|
|
|
ENV PY_COLORS=1
|
|
ENV CARGO_NET_GIT_FETCH_WITH_CLI=true
|
|
ENV ANSIBLE_FORCE_COLOR=true
|
|
ENV USER=root
|
|
ENV PATH=/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin
|
|
ENV PIPX_HOME=/opt/pipx
|
|
ENV PIPX_BIN_DIR=/usr/local/bin
|
|
|
|
COPY overlay/ /
|
|
|
|
RUN apk add --update --no-cache --virtual .build-deps build-base libffi-dev musl-dev openssl-dev python3-dev cargo && \
|
|
apk add --update --no-cache git openssh-client python3 pipx && \
|
|
echo "Installing ansible 'v$ANSIBLE_VERSION' ..." && \
|
|
pipx install --include-deps ansible=="$ANSIBLE_VERSION" && \
|
|
echo "Installing molecule version '$MOLECULE_VERSION' ..." && \
|
|
pipx inject --include-apps ansible molecule && \
|
|
pipx inject --include-apps ansible pytest && \
|
|
pipx inject ansible pytest-testinfra && \
|
|
pipx inject ansible molecule-plugins[docker] && \
|
|
pipx inject ansible molecule_hetznercloud && \
|
|
pipx inject ansible boto && \
|
|
pipx inject ansible boto3 && \
|
|
pipx inject ansible botocore && \
|
|
pipx inject ansible hcloud && \
|
|
pipx inject ansible apache-libcloud && \
|
|
pipx inject ansible pycrypto && \
|
|
pipx inject ansible flaky && \
|
|
pipx inject ansible passlib && \
|
|
$PIPX_HOME/shared/bin/pip install -U pip setuptools && \
|
|
apk del .build-deps && \
|
|
rm -rf /var/cache/apk/* && \
|
|
rm -rf /tmp/* && \
|
|
rm -rf /root/.cache/
|
|
|
|
USER root
|
|
CMD []
|
|
ENTRYPOINT ["/bin/molecule"]
|