FROM hub.pingcap.net/qa/base-image

RUN tiup install tikv:nightly
RUN tiup install tidb:nightly
RUN tiup install tiflash:nightly
RUN tiup install pd:nightly

# minio related
COPY ./mc /root/
COPY ./minio /root/
RUN cd /root && chmod +x ./mc && chmod +x ./minio

# install a mocked systemd, so tiup can work properly.
RUN mkdir /root/docker-systemctl-replacement
COPY ./docker-systemctl-replacement /root/docker-systemctl-replacement
RUN cd /root/docker-systemctl-replacement && mv /usr/bin/systemctl /root/ori_systemctl && \
    cp files/docker/systemctl.py /usr/bin/systemctl && chmod +x /usr/bin/systemctl

# setup rsa key, so /usr/sbin/sshd can work properly.
RUN ssh-keygen -q -N "" -t rsa -b 4096 -f /etc/ssh/ssh_host_rsa_key

# this is a tidb image which disable getting mem info by cgroup.
# otherwise it will crash because we didn't setup cgroup properly for now.
COPY ./tidb.nocgroup.tar.gz /root

# the topo file for tidb cluster.
COPY minikube_tiup_topo.yaml /root/topo.yaml

EXPOSE 1-65535

ENTRYPOINT ["/bin/bash"]

# other commands that need to run manually:
# docker run --rm -it -v /sys/fs/cgroup:/sys/fs/cgroup:ro --name tiup --entrypoint /bin/bash minikube_autoscale_tiup:centos
# /usr/sbin/sshd
# minio server ./s3_data/ --console-address "0.0.0.0:19090" --address "0.0.0.0:19000"
# mc config host add localminio http://127.0.0.1:19000 minioadmin minioadmin
# mc mb localminio/minikube-autoscale
# RUN cd /root && wget https://dl.min.io/server/minio/release/linux-amd64/minio &&\
#     chmod +x minio && mv minio /usr/bin

# TODO:
# 1. tidb.cgroup.rgName.tar.gz
# 2. use v8.3.0 instead of nightly
# 3. scaleout.yaml
# 4. run_tpch.sh
