FROM registry.yandex.net/load/yandex-tank-base:1.19.5

LABEL Description="# Yandex.Tank with jmeter, tankapi and BDK" \
    Vendor="Yandex" \
    maintainer="load@yandex-team.ru" \
    Telegraf.version="${TELEGRAF_VERSION}" \
    Jmeter.version="${JMETER_VERSION}"

# for qloud ssh auth. See https://st.yandex-team.ru/LUNAPARK-2632
ENV HOME=/root/

# Yandex-tank
COPY yandex-tank /usr/bin/yandex-tank

# Tankapi, BDK
COPY tankapi /usr/bin/tankapi

# Yandex-tank dependencies
COPY configs/yandex-load.list /etc/apt/sources.list.d/yandex-load.list
RUN echo "deb http://load-xenial.dist.yandex.ru/load-xenial stable/all/" >> /etc/apt/sources.list.d/yandex-load.list
RUN echo "deb http://load-xenial.dist.yandex.ru/load-xenial stable/amd64/" >> /etc/apt/sources.list.d/yandex-load.list
RUN curl dist.yandex.ru/REPO.asc | apt-key add - && \
    DEBIAN_FRONTEND=noninteractive && \
    apt-get update && \
    apt-get install -yq --no-install-recommends --allow-unauthenticated \
        tzdata=2021a-0ubuntu0.16.04\
        cron=3.0pl1-128ubuntu2 \
        yandex-telegraf=1.2.1 \
        tankapi-client=1.11.1 \
        load-bdk=1.0.0 \
        load-bfg2020=0.2.1 \
        load-pandora=0.3.8 \
        dnsutils=1:9.10.3.dfsg.P4-8ubuntu1.19 && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/* /tmp/* /var/tmp/*

# Yandex-tank templates
RUN mkdir -p /var/log/supervisor && \
    mkdir -p /var/lib/tankapi/tests/stpd-cache && \
    mkdir -p /etc/yandex-tank && \
    mkdir -p /usr/lib/yandex/yandex-tank/autoclean/ && \
    mkdir -p /var/log/bdk
COPY etc/yandex-tank/*.yaml /etc/yandex-tank/
COPY configs/supervisord.conf  /etc/supervisord.conf
COPY configs/bashrc /root/.bashrc
COPY configs/inputrc /root/.inputrc
COPY configs/jmeter-large /bin/jmeter-large
COPY autoclean/autoclean.yaml /usr/lib/yandex/yandex-tank/autoclean/autoclean.yaml
COPY etc/cron.d/yandex-tank-internal /etc/cron.d/yandex-tank-internal
COPY tests /usr/lib/yandex/yandex-tank/tests

# for qloud cron, fixing tanks autoclean problem: https://st.yandex-team.ru/YANDEXTANK-181
RUN sed -i 's/session[ ]*required[ ]*pam_loginuid.so/#session required pam_loginuid.so/' /etc/pam.d/cron

EXPOSE 8083/tcp

ENTRYPOINT ["/usr/bin/supervisord", "-c", "/etc/supervisord.conf"]
