FROM ubuntu:14.04.5

RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7FCD11186050CD1A
RUN echo deb http://partner-precise.dist.yandex.ru/partner-precise/ stable/amd64/ >> /etc/apt/sources.list.d/partner-precise.list
RUN echo deb http://partner-precise.dist.yandex.ru/partner-precise/ stable/all/   >> /etc/apt/sources.list.d/partner-precise.list

# common
# yandex-internal-root-ca
RUN echo deb http://common.dist.yandex.ru/common/ stable/all/ >> /etc/apt/sources.list.d/common.list
RUN echo deb http://common.dist.yandex.ru/common/ stable/amd64/ >> /etc/apt/sources.list.d/common.list

RUN apt-get update && apt-get install -y \
    curl \
    gcc \
    git \
    libcurl4-openssl-dev \
    libdbd-mysql-perl=4.025-1ubuntu0.1 \
    libpartner2-juggler-api-perl=0.15 \
    libwww-perl=6.05-2 \
    libhttp-message-perl=6.06-1 \
    libxmlrpc-lite-perl=0.717-1 \
    libsoap-lite-perl=1.09-1 \
    yandex-internal-root-ca \
    make \
    moreutils \
    rsyslog \
    wget python

RUN curl --silent https://raw.githubusercontent.com/miyagawa/cpanminus/1.7039/cpanm | perl - --no-lwp --curl App::cpanminus
RUN cpanm --no-lwp --curl \
      Carton@v1.0.22 \
      Net::INET6Glue

# patch cpanm (support ipv6)
RUN sed -i 's/package App::cpanminus::script;/package App::cpanminus::script;\n  use Net::INET6Glue::INET_is_INET6;/' \
    /usr/local/share/perl/5.18.2/App/cpanminus/fatscript.pm

ADD cpanfile \
    cpanfile.snapshot  \
    /app/

WORKDIR /app
RUN carton install --deployment

ADD lib/ /app/lib

ADD bin/ /app/bin
RUN chmod 755 /app/bin/*.sh

ADD cron/partner2-juggler-checks-dev /etc/cron.d/partner2-juggler-checks-dev
RUN chmod 644 /etc/cron.d/*

RUN mkdir /var/log/partner2-juggler-checks-dev

RUN export TZ=Europe/Moscow

# for ya tool dctl
ARG YA_TOKEN
ARG DCTL_YP_TOKEN

ENV YA_USER=robot-partner
ENV YA_TOKEN=$YA_TOKEN
ENV DCTL_YP_TOKEN=$DCTL_YP_TOKEN
RUN wget --no-check-certificate https://api-gotya.n.yandex-team.ru/ya && chmod +x /app/ya

# using `touch` as a hack to fix an error
# Dec  1 18:17:01 9e3d16d4afe8 cron[10]: (*system*partner2-juggler-checks-dev) NUMBER OF HARD LINKS > 1 (/etc/cron.d/partner2-juggler-checks-dev)
# https://github.com/phusion/baseimage-docker/issues/198

CMD touch /etc/crontab && touch /etc/cron.d/partner2-juggler-checks-dev && rsyslogd && cron && tail -f /var/log/syslog
