FROM alpine ARG HELM_VERSION=3.18.0 ARG KUBECTL_VERSION=1.17.5 ARG SOPS_VERSION=3.8.1 # Determine architecture RUN case `uname -m` in \ x86_64) ARCH=amd64 ;; \ armv7l) ARCH=arm ;; \ aarch64) ARCH=arm64 ;; \ ppc64le) ARCH=ppc64le ;; \ s390x) ARCH=s390x ;; \ *) echo "Unsupported arch" && exit 1 ;; \ esac && echo "ARCH=$ARCH" > /envfile # Install Helm and kubectl and SOPS RUN . /envfile && \ apk add --no-cache curl ca-certificates bash && \ curl -sL https://get.helm.sh/helm-v${HELM_VERSION}-linux-${ARCH}.tar.gz | tar -xz && \ mv linux-${ARCH}/helm /usr/bin/helm && chmod +x /usr/bin/helm && rm -rf linux-${ARCH} && \ curl -sLO https://dl.k8s.io/release/v${KUBECTL_VERSION}/bin/linux/${ARCH}/kubectl && \ mv kubectl /usr/bin/kubectl && chmod +x /usr/bin/kubectl curl -sLO https://github.com/getsops/sops/releases/download/v${SOPS_VERSION}/sops-v${SOPS_VERSION}.linux.${ARCH} && \ mv sops-v${SOPS_VERSION}.linux.${ARCH} /usr/bin/sops && chmod +x /usr/bin/sops # Install Node.js RUN apk update && apk add --no-cache nodejs npm # Install git RUN apk update && apk add --no-cache git WORKDIR /apps