diff --git a/Dockerfile b/Dockerfile index ac4e2df..5c92587 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,9 +7,11 @@ ARG TARGETARCH=amd64 # ─── Common CLI tools ─────────────────────────────────────────── RUN apt-get update && apt-get install -y --no-install-recommends \ + bash \ ca-certificates \ curl \ gcc \ + gettext \ git \ jq \ less \ @@ -22,6 +24,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ unzip \ wget \ xz-utils \ + yq \ && rm -rf /var/lib/apt/lists/* # ─── Python 3 ---──────────────────────────────────────────────── @@ -72,10 +75,33 @@ RUN case "$TARGETARCH" in \ chmod +x /usr/local/bin/docker && \ rm -rf docker /tmp/docker.tgz +# ─── kubectl ────────────────────────────────────────────────── +ARG HELM_VERSION=3.2.1 +ARG KUBECTL_VERSION=1.17.5 +ARG KUSTOMIZE_VERSION=v3.8.1 +ARG KREW_VERSION=v0.4.4 + +ARG ARCH=amd64 + +RUN curl -sL https://get.helm.sh/helm-v${HELM_VERSION}-linux-${ARCH}.tar.gz | tar -xvz && \ + mv linux-${ARCH}/helm /usr/bin/helm && \ + chmod +x /usr/bin/helm && \ + rm -rf linux-${ARCH} + +RUN curl -sLO "https://dl.k8s.io/release/v${KUBECTL_VERSION}/bin/linux/${ARCH}/kubectl" && \ + mv kubectl /usr/bin/kubectl && \ + chmod +x /usr/bin/kubectl + +RUN curl -sLO https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2F${KUSTOMIZE_VERSION}/kustomize_${KUSTOMIZE_VERSION}_linux_${ARCH}.tar.gz && \ + tar xvzf kustomize_${KUSTOMIZE_VERSION}_linux_${ARCH}.tar.gz && \ + mv kustomize /usr/bin/kustomize && \ + chmod +x /usr/bin/kustomize && \ + rm kustomize_${KUSTOMIZE_VERSION}_linux_${ARCH}.tar.gz + # ─── Cleanup ──────────────────────────────────────────────────── RUN rm -rf /var/lib/apt/lists/* \ /tmp/* \ /var/tmp/* # ─── Persist Go on PATH after /etc/profile resets it ──────────── -RUN printf 'export PATH="/usr/local/go/bin:/usr/local/bin:$PATH"\n' > /etc/profile.d/go.sh +RUN printf 'export PATH="/usr/local/go/bin:/usr/local/bin:/root/.krew/bin:$PATH"\n' > /etc/profile.d/go.sh