You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hetzner-ansible/ansible-builder/context/Dockerfile

46 lines
1.6 KiB
Docker

ARG EE_BASE_IMAGE=docker.dev-at.de/ansible/ansible-base-image:latest
ARG EE_BUILDER_IMAGE=quay.io/ansible/ansible-builder:latest
FROM $EE_BASE_IMAGE as galaxy
ARG ANSIBLE_GALAXY_CLI_COLLECTION_OPTS=
USER root
RUN mkdir -p /root/.ssh
ADD ansible-builder/context/id_ed25519 /root/.ssh/id_ed25519
RUN chmod -R 700 /root/.ssh
RUN mkdir /build
WORKDIR /build
ADD galaxy-requirements.yml requirements.yml
ADD pip-requirements requirements.txt
ADD ansible-builder/bindep.txt bindep.txt
RUN ssh-keyscan git.dev-at.de >> /root/.ssh/known_hosts
RUN eval $(ssh-agent) && ssh-add /root/.ssh/id_ed25519 && ansible-galaxy role install -r requirements.yml --roles-path /usr/share/ansible/roles
RUN ansible-galaxy collection install $ANSIBLE_GALAXY_CLI_COLLECTION_OPTS -r requirements.yml --collections-path /usr/share/ansible/collections
FROM $EE_BUILDER_IMAGE as builder
COPY --from=galaxy /usr/share/ansible /usr/share/ansible
ADD pip-requirements requirements.txt
ADD ansible-builder/bindep.txt bindep.txt
RUN ansible-builder introspect --sanitize --user-pip=requirements.txt --user-bindep=bindep.txt --write-bindep=/tmp/src/bindep.txt --write-pip=/tmp/src/requirements.txt
RUN assemble
FROM $EE_BASE_IMAGE
USER root
COPY --from=galaxy /usr/share/ansible /usr/share/ansible
COPY --from=builder /output/ /output/
RUN /output/install-from-bindep && rm -rf /output/wheels
RUN alternatives --set python /usr/bin/python3
COPY --from=quay.io/project-receptor/receptor:0.9.7 /usr/bin/receptor /usr/bin/receptor
RUN mkdir -p /var/run/receptor
ADD ansible-builder/context/run.sh /run.sh
CMD /run.sh
USER 1000
RUN git lfs install