48 lines
2.1 KiB
Plaintext
48 lines
2.1 KiB
Plaintext
FROM docker.io/python:3.12-alpine@sha256:c2f41e6a5a67bc39b95be3988dd19fbd05d1b82375c46d9826c592cca014d4de
|
|
|
|
LABEL maintainer="Robert Kaussow <mail@thegeeklab.de>"
|
|
LABEL org.opencontainers.image.authors="Robert Kaussow <mail@thegeeklab.de>"
|
|
LABEL org.opencontainers.image.title="ansible-dev-tools"
|
|
LABEL org.opencontainers.image.url="https://gitea.rknet.org/container/ansible-dev-tools"
|
|
LABEL org.opencontainers.image.source="https://gitea.rknet.org/container/ansible-dev-tools"
|
|
LABEL org.opencontainers.image.documentation="https://gitea.rknet.org/container/ansible-dev-tools"
|
|
|
|
ARG ANSIBLE_VERSION
|
|
ARG MOLECULE_VERSION
|
|
ARG ANSIBLE_LINT_VERSION
|
|
|
|
# renovate: datasource=pypi depName=molecule
|
|
ENV MOLECULE_VERSION="${MOLECULE_VERSION:-24.6.1}"
|
|
# renovate: datasource=pypi depName=ansible
|
|
ENV ANSIBLE_VERSION="${ANSIBLE_VERSION:-10.3.0}"
|
|
# renovate: datasource=pypi depName=ansible-lint
|
|
ENV ANSIBLE_LINT_VERSION="${ANSIBLE_LINT_VERSION:-24.7.0}"
|
|
|
|
ENV PY_COLORS=1
|
|
ENV ANSIBLE_FORCE_COLOR=true
|
|
|
|
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 && \
|
|
apk upgrade --no-cache libexpat
|
|
RUN export CARGO_NET_GIT_FETCH_WITH_CLI=true && \
|
|
export USER=root && \
|
|
echo "Installing requirements ..." && \
|
|
pip install -qq --no-cache-dir --upgrade pip && \
|
|
pip install -qq --no-cache-dir boto boto3 botocore apache-libcloud hcloud \
|
|
flaky passlib pytest pytest-testinfra && \
|
|
echo "Installing ansible 'v$ANSIBLE_VERSION' ..." && \
|
|
pip install -qq --no-cache-dir ansible=="$ANSIBLE_VERSION" && \
|
|
echo "Installing molecule 'v$MOLECULE_VERSION' ..." && \
|
|
pip install --no-cache-dir molecule=="$MOLECULE_VERSION" molecule-plugins[docker] molecule-hetznercloud && \
|
|
echo "Installing ansible-lint 'v$ANSIBLE_LINT_VERSION' ..." && \
|
|
pip install -qq --no-cache-dir ansible-lint=="$ANSIBLE_LINT_VERSION" && \
|
|
apk del .build-deps && \
|
|
rm -rf /var/cache/apk/* && \
|
|
rm -rf /tmp/* && \
|
|
rm -rf /root/.cache/
|
|
|
|
USER root
|
|
CMD ["/bin/sh"]
|