ARG ARGOCD_VERSION=latest FROM argoproj/argocd:$ARGOCD_VERSION as argocd FROM node:11.10.1-slim RUN apt-get update && \ apt-get --no-install-recommends install -y git apt-utils sudo python make vim procps && \ apt-get clean && \ rm -rf \ /var/lib/apt/lists/* \ /tmp/* \ /var/tmp/* \ /usr/share/man \ /usr/share/doc \ /usr/share/doc-base WORKDIR /home/argocd/argocd-bot COPY --from=argocd /usr/local/bin/argocd /usr/local/bin/argocd COPY --from=argocd /usr/local/bin/helm /usr/local/bin/helm COPY --from=argocd /usr/local/bin/kustomize /usr/local/bin/kustomize COPY --from=argocd /usr/local/bin/kustomize /usr/local/bin/kustomize1 COPY --from=argocd /usr/local/bin/ks /usr/local/bin/ks RUN groupadd -g 999 argocd && \ useradd -r -u 999 -g argocd argocd && \ chown argocd:argocd /home/argocd && \ chown argocd:argocd /home/argocd/argocd-bot # allow argocd user to have sudo access (for quickly debugging things inside the pod) RUN echo "argocd ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers COPY --chown=argocd . ./ COPY --chown=argocd deployment/diff_helper.sh /usr/local/bin/diff_helper #workaround https://github.com/golang/go/issues/14625 ENV USER=argocd USER argocd # used by argocd cli tool, makes diff prettier for github markdown ENV KUBECTL_EXTERNAL_DIFF=/usr/local/bin/diff_helper # run npm as argocd user RUN npm install && npm run build && npm run test