diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 3478071..f3be754 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,4 +1,5 @@ -FROM mcr.microsoft.com/devcontainers/go:1-1.24-bookworm +ARG TOOLS_GO_VERSION +FROM mcr.microsoft.com/devcontainers/go:1-${TOOLS_GO_VERSION}-bookworm RUN apt-get update && apt-get install -y --no-install-recommends \ ca-certificates \ @@ -16,4 +17,46 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ vim \ zsh +ARG TARGETARCH +ARG TOOLS_HELM_VERSION +ARG TOOLS_ISTIO_VERSION +ARG TOOLS_ARGO_ROLLOUTS_VERSION +ARG TOOLS_KUBECTL_VERSION +ARG TOOLS_CILIUM_VERSION + +WORKDIR /downloads + +RUN curl -LO "https://dl.k8s.io/release/v$TOOLS_KUBECTL_VERSION/bin/linux/$TARGETARCH/kubectl" \ + && mv kubectl /usr/bin/kubectl \ + && chmod +x /usr/bin/kubectl \ + && /usr/bin/kubectl version --client + +RUN curl -L https://istio.io/downloadIstio | ISTIO_VERSION=$TOOLS_ISTIO_VERSION TARGET_ARCH=$TARGETARCH sh - \ + && mv istio-*/bin/istioctl /usr/bin/ \ + && rm -rf istio-* \ + && /usr/bin/istioctl --help + +# Install Helm +RUN curl -Lo helm.tar.gz https://get.helm.sh/helm-v${TOOLS_HELM_VERSION}-linux-${TARGETARCH}.tar.gz \ + && tar -xvf helm.tar.gz \ + && mv linux-${TARGETARCH}/helm /usr/bin/helm \ + && chmod +x /usr/bin/helm \ + && rm -rf helm.tar.gz linux-${TARGETARCH} \ + && /usr/bin/helm version + +# Install kubectl-argo-rollouts +RUN curl -Lo /usr/bin/kubectl-argo-rollouts https://github.com/argoproj/argo-rollouts/releases/download/v${TOOLS_ARGO_ROLLOUTS_VERSION}/kubectl-argo-rollouts-linux-${TARGETARCH} \ + && chmod +x /usr/bin/kubectl-argo-rollouts \ + && /usr/bin/kubectl-argo-rollouts version + +# Install Cilium CLI +RUN curl -Lo cilium.tar.gz https://github.com/cilium/cilium-cli/releases/download/v${TOOLS_CILIUM_VERSION}/cilium-linux-${TARGETARCH}.tar.gz \ + && tar -xvf cilium.tar.gz \ + && mv cilium /usr/bin/cilium \ + && chmod +x /usr/bin/cilium \ + && rm -rf cilium.tar.gz \ + && /usr/bin/cilium version + +WORKDIR /tools + ENTRYPOINT ["zsh"] \ No newline at end of file diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 3816668..91da9b7 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -3,9 +3,18 @@ "build": { "dockerfile": "Dockerfile", "args": { - "TOOLS_GO_VERSION": "1.24.4", + "TOOLS_GO_VERSION": "1.24", + "TOOLS_HELM_VERSION": "3.18.3", + "TOOLS_ISTIO_VERSION": "1.26.2", + "TOOLS_KUBECTL_VERSION": "1.33.2", + "TOOLS_ARGO_ROLLOUTS_VERSION": "1.8.3", + "TOOLS_CILIUM_VERSION": "0.16.29" } }, + "features": { + "ghcr.io/devcontainers/features/docker-outside-of-docker:1": {}, + "ghcr.io/mpriscella/features/kind:1": {} + }, "customizations": { "vscode": { "extensions": [ @@ -37,7 +46,7 @@ "remoteUser": "root", //forward the following ports - //"forwardPorts": [8084], + "forwardPorts": [8084], //mount docker directly on the host "mounts": ["source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind"], diff --git a/Dockerfile b/Dockerfile index e307408..ba45926 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,6 +14,7 @@ ARG TOOLS_HELM_VERSION ARG TOOLS_ISTIO_VERSION ARG TOOLS_ARGO_ROLLOUTS_VERSION ARG TOOLS_KUBECTL_VERSION +ARG TOOLS_CILIUM_VERSION WORKDIR /downloads diff --git a/Makefile b/Makefile index 222bcf7..80abdee 100644 --- a/Makefile +++ b/Makefile @@ -103,6 +103,7 @@ TOOLS_ISTIO_VERSION ?= 1.26.2 TOOLS_ARGO_ROLLOUTS_VERSION ?= 1.8.3 TOOLS_KUBECTL_VERSION ?= 1.33.2 TOOLS_HELM_VERSION ?= 3.18.3 +TOOLS_CILIUM_VERSION ?= 1.17.5 # build args TOOLS_IMAGE_BUILD_ARGS = --build-arg VERSION=$(VERSION) @@ -112,6 +113,7 @@ TOOLS_IMAGE_BUILD_ARGS += --build-arg TOOLS_ISTIO_VERSION=$(TOOLS_ISTIO_VERSION) TOOLS_IMAGE_BUILD_ARGS += --build-arg TOOLS_ARGO_ROLLOUTS_VERSION=$(TOOLS_ARGO_ROLLOUTS_VERSION) TOOLS_IMAGE_BUILD_ARGS += --build-arg TOOLS_KUBECTL_VERSION=$(TOOLS_KUBECTL_VERSION) TOOLS_IMAGE_BUILD_ARGS += --build-arg TOOLS_HELM_VERSION=$(TOOLS_HELM_VERSION) +TOOLS_IMAGE_BUILD_ARGS += --build-arg TOOLS_CILIUM_VERSION=$(TOOLS_CILIUM_VERSION) .PHONY: buildx-create buildx-create: