2024-10-03 00:31:13 +00:00
|
|
|
FROM docker.io/python:3.12-alpine@sha256:e75de178bc15e72f3f16bf75a6b484e33d39a456f03fc771a2b3abb9146b75f8
|
2024-08-18 20:06:28 +00:00
|
|
|
|
|
|
|
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
|
2024-08-18 20:31:00 +00:00
|
|
|
ARG ANSIBLE_LINT_VERSION
|
2024-08-18 20:06:28 +00:00
|
|
|
|
2024-08-19 06:01:31 +00:00
|
|
|
ARG PIP_ROOT_USER_ACTION=ignore
|
|
|
|
ARG CARGO_NET_GIT_FETCH_WITH_CLI=true
|
|
|
|
ARG USER=root
|
|
|
|
|
2024-08-18 20:06:28 +00:00
|
|
|
# renovate: datasource=pypi depName=molecule
|
2024-08-20 06:34:43 +00:00
|
|
|
ENV MOLECULE_VERSION="${MOLECULE_VERSION:-24.8.0}"
|
2024-08-18 20:06:28 +00:00
|
|
|
# renovate: datasource=pypi depName=ansible
|
2024-09-11 21:25:16 +00:00
|
|
|
ENV ANSIBLE_VERSION="${ANSIBLE_VERSION:-10.4.0}"
|
2024-08-18 20:31:00 +00:00
|
|
|
# renovate: datasource=pypi depName=ansible-lint
|
2024-09-20 06:09:08 +00:00
|
|
|
ENV ANSIBLE_LINT_VERSION="${ANSIBLE_LINT_VERSION:-24.9.2}"
|
2024-08-18 20:06:28 +00:00
|
|
|
|
|
|
|
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 && \
|
2024-08-18 20:31:00 +00:00
|
|
|
apk upgrade --no-cache libexpat
|
2024-08-19 06:01:31 +00:00
|
|
|
RUN echo "Installing requirements ..." && \
|
|
|
|
pip install -qq --no-cache-dir --upgrade pip && \
|
|
|
|
pip install -qq --no-cache-dir boto boto3 botocore apache-libcloud hcloud \
|
2024-08-18 20:06:28 +00:00
|
|
|
flaky passlib pytest pytest-testinfra && \
|
|
|
|
echo "Installing ansible 'v$ANSIBLE_VERSION' ..." && \
|
2024-08-19 06:01:31 +00:00
|
|
|
pip install -qq --no-cache-dir ansible=="$ANSIBLE_VERSION" && \
|
2024-08-18 20:06:28 +00:00
|
|
|
echo "Installing molecule 'v$MOLECULE_VERSION' ..." && \
|
2024-08-19 06:01:31 +00:00
|
|
|
pip install -qq --no-cache-dir molecule=="$MOLECULE_VERSION" molecule-plugins[docker] molecule-hetznercloud && \
|
2024-08-18 20:06:28 +00:00
|
|
|
echo "Installing ansible-lint 'v$ANSIBLE_LINT_VERSION' ..." && \
|
2024-08-19 06:01:31 +00:00
|
|
|
pip install -qq --no-cache-dir ansible-lint=="$ANSIBLE_LINT_VERSION" && \
|
2024-08-18 20:06:28 +00:00
|
|
|
apk del .build-deps && \
|
|
|
|
rm -rf /var/cache/apk/* && \
|
|
|
|
rm -rf /tmp/* && \
|
|
|
|
rm -rf /root/.cache/
|
|
|
|
|
|
|
|
USER root
|
|
|
|
CMD ["/bin/sh"]
|