FROM golang:1.17 LABEL maintainer="GitLab Distribution Team" \ description="Build base image for the GitLab Operator project." RUN go get -u \ github.com/onsi/ginkgo/ginkgo \ golang.org/x/lint/golint ARG KUBEBUILDER_VERSION=2.3.1 ARG OPERATOR_SDK_VERSION=1.13.1 ARG OPM_VERSION=1.19.1 ARG YQ_VERSION=2.4.1 RUN curl --retry 6 -Ls https://github.com/kubernetes-sigs/kubebuilder/releases/download/v${KUBEBUILDER_VERSION}/kubebuilder_${KUBEBUILDER_VERSION}_linux_amd64.tar.gz | tar -xz -C /tmp/ \ && mv /tmp/kubebuilder_${KUBEBUILDER_VERSION}_linux_amd64 /usr/local/kubebuilder \ && ln -sfv /usr/local/kubebuilder/bin/* /usr/local/bin RUN curl --retry 6 -LsO https://github.com/operator-framework/operator-sdk/releases/download/v${OPERATOR_SDK_VERSION}/operator-sdk_linux_amd64 \ && chmod +x operator-sdk_linux_amd64 \ && mv operator-sdk_linux_amd64 /usr/local/bin/operator-sdk RUN curl --retry 6 -LsO https://github.com/operator-framework/operator-registry/releases/download/v${OPM_VERSION}/linux-amd64-opm \ && chmod +x linux-amd64-opm \ && mv linux-amd64-opm /usr/local/bin/opm RUN curl --retry 6 -LsO https://github.com/mikefarah/yq/releases/download/${YQ_VERSION}/yq_linux_amd64 \ && chmod +x yq_linux_amd64 \ && mv yq_linux_amd64 /usr/local/bin/yq