-
Notifications
You must be signed in to change notification settings - Fork 1
/
requirements.Dockerfile
50 lines (42 loc) · 1.34 KB
/
requirements.Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
FROM debian:12.6-slim AS builder
ARG UNIQUE_ID_FOR_CACHEFROM=builder
WORKDIR /ansible
RUN apt-get update \
&& apt-get install --assume-yes --no-install-recommends \
build-essential \
gcc \
python3-full \
&& python3 -m venv /opt/venv \
&& apt-get autoremove --assume-yes \
&& apt-get clean --assume-yes \
&& rm -rf /var/lib/apt/lists/* \
&& rm -rf /tmp/*
ENV PATH="/opt/venv/bin:$PATH"
RUN python3 -m pip install --upgrade --no-cache-dir --progress-bar off \
pip \
wheel \
setuptools
# Everything above this line is the same as the main Dockerfile
RUN python3 -m pip install --no-cache-dir --progress-bar off \
# for better Ansible password_hash() support
passlib \
bcrypt \
# openshift is a requirement of the k8s Ansible module
openshift \
# needed for Ansible k8s module's validate support
kubernetes-validate \
# needed for Ansible dns lookup support
dnspython \
# needed for Ansible ipaddr functions
netaddr \
# needed for Ansible hashi_vault plugin support
hvac \
# needed for Ansible docker \
docker \
# misc
ansible-lint \
yamllint \
molecule[docker] \
# ...
ansible
CMD ["python3", "-m", "pip", "freeze", "--all"]