FROM gcr.io/pingcap-public/third-party/baseimage/golang:1.23 AS tools

RUN mkdir -p /app

WORKDIR /app

RUN CGO_ENABLED=0 GOBIN=/app go install sigs.k8s.io/controller-runtime/tools/setup-envtest@release-0.19
RUN wget -O aws-iam-authenticator https://github.com/kubernetes-sigs/aws-iam-authenticator/releases/download/v0.6.11/aws-iam-authenticator_0.6.11_linux_amd64

FROM google/cloud-sdk:494.0.0-alpine AS gcloud

FROM gcr.io/pingcap-public/pingcap/alpine:3.20

COPY --from=tools /app/setup-envtest /usr/local/bin/setup-envtest
COPY --from=tools /app/aws-iam-authenticator /usr/local/bin/aws-iam-authenticator
COPY --from=gcloud /google-cloud-sdk /google-cloud-sdk

RUN setup-envtest use
RUN chmod +x /usr/local/bin/aws-iam-authenticator
ENV PATH=/google-cloud-sdk/bin:$PATH
RUN apk --update --no-cache add python3
RUN gcloud components install gke-gcloud-auth-plugin

COPY bin/manager /eks-provider
COPY helm-charts/* /etc/helm
COPY cmd/update-checker/bin/update-checker /update-checker
COPY cmd/update-checker/entrypoint.sh /entrypoint.sh


CMD ["/entrypoint.sh"]
