FROM golang:latest
MAINTAINER Julien Vehent
ENV PROJECT=github.com/mozilla/tls-observatory

# Run as root
RUN apt update && \
    apt install -y git libcurl4-nss-dev libnss3 libnss3-dev clang && \
    apt-get clean && apt-get -y autoremove && \
    groupadd -r tlsobs && \
    useradd -r -g tlsobs tlsobs 

ADD . /go/src/$PROJECT
ADD cipherscan/ /opt/cipherscan/
ADD conf/ /etc/tls-observatory/
RUN chown tlsobs -R /go /opt -R

# switch to tlsobs user
USER tlsobs

RUN git clone https://github.com/mozkeeler/ev-checker.git && \
    cd ev-checker && make && \
    mv ./ev-checker /go/bin/ && \
    cd .. && \
    rm -rf ev-checker && \

    go generate $PROJECT/worker/mozillaGradingWorker && \
    go install $PROJECT/tlsobs-scanner && \
    rm -rf /go/src && \
    /opt/cipherscan/cipherscan --no-tolerance -j --curves -servername google.com google.com

CMD /go/bin/tlsobs-scanner
