FROM docker.io/python:3.12-alpine@sha256:bb5d0ac04679d78a1258e7dfacdb4d9bdefe9a10480eaf9b4bb09445d076369f LABEL maintainer="Robert Kaussow " LABEL org.opencontainers.image.authors="Robert Kaussow " 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 ARG PIP_ROOT_USER_ACTION=ignore ARG CARGO_NET_GIT_FETCH_WITH_CLI=true ARG USER=root # renovate: datasource=pypi depName=molecule ENV MOLECULE_VERSION="${MOLECULE_VERSION:-24.8.0}" # renovate: datasource=pypi depName=ansible ENV ANSIBLE_VERSION="${ANSIBLE_VERSION:-10.4.0}" # renovate: datasource=pypi depName=ansible-lint ENV ANSIBLE_LINT_VERSION="${ANSIBLE_LINT_VERSION:-24.9.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 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 -qq --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"]