FROM python:3.10-slim-bullseye

# Install vi, curl, unzip and jq
RUN apt-get update && \
    apt-get install -y vim curl unzip jq && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

# Install kubectl to /usr/local/bin
RUN curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.22.2/bin/linux/amd64/kubectl && \
    chmod +x ./kubectl && \
    mv ./kubectl /usr/local/bin/kubectl

# Install awscli
RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" && \
    unzip -q awscliv2.zip && \
    ./aws/install && \
    rm -rf awscliv2.zip aws

# Install gcloud
RUN curl -LO https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-433.0.1-linux-x86_64.tar.gz && \
    tar xzf google-cloud-sdk-433.0.1-linux-x86_64.tar.gz && \
    ./google-cloud-sdk/install.sh --additional-components gke-gcloud-auth-plugin --quiet && \
    rm -rf google-cloud-sdk-433.0.1-linux-x86_64.tar.gz

# Install python libraries
RUN pip install requests

# Copy the entrypoint script
COPY entrypoint.sh /entrypoint.sh
COPY init-kube.py /init-kube.py
COPY pd-ctl.sh /pd-ctl.sh
COPY tikv-ctl.sh /tikv-ctl.sh
COPY ssh-connect.sh /ssh-connect.sh

ENV PATH=/google-cloud-sdk/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

ENTRYPOINT ["/entrypoint.sh"]
