diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index a0308ace4..fc8e07e18 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,20 +1,6 @@ -# See here for image contents: https://github.com/devcontainers/images/tree/main/src/go - -# [Choice] Go version (use -bullseye variants on local arm64/Apple Silicon): 1, 1.16, 1.17, 1-bullseye, 1.16-bullseye, 1.17-bullseye, 1-buster, 1.16-buster, 1.17-buster -ARG VARIANT="1.23-bullseye" -FROM mcr.microsoft.com/vscode/devcontainers/go:dev-${VARIANT} +FROM mcr.microsoft.com/oss/go/microsoft/golang:1.23.6-bookworm@sha256:2d8c09c93157b49f2f8f0523d907620d022e6d354e670b60a83125067f0c8960 # [Optional] Uncomment this section to install additional OS packages. # graphviz for pprof RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ && apt-get -y install --no-install-recommends graphviz - -RUN curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v2.13.0/skaffold-linux-amd64 && \ - install skaffold /usr/local/bin/ - -# [Optional] Uncomment the next lines to use go get to install anything else you need -USER vscode -RUN go install github.com/google/pprof@latest - -# [Optional] Uncomment this line to install global node packages. -# RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g " 2>&1 diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 97e2e0e73..b4e942c9b 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -3,10 +3,7 @@ { "name": "Go-karpenter", "build": { - "dockerfile": "Dockerfile", - "args": { - "VARIANT": "1.23-bullseye" - } + "dockerfile": "Dockerfile" }, "runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ], @@ -52,11 +49,31 @@ "remoteUser": "vscode", "features": { - "ghcr.io/devcontainers/features/sshd:1": {}, - "ghcr.io/devcontainers/features/docker-outside-of-docker:1": {}, - "ghcr.io/devcontainers/features/kubectl-helm-minikube:1": {}, - "ghcr.io/devcontainers/features/azure-cli:1": {}, - "ghcr.io/devcontainers-contrib/features/pre-commit:2": {}, - "ghcr.io/marcozac/devcontainer-features/shellcheck:1": {} + // https://github.com/devcontainers/images/blob/main/src/go/.devcontainer/devcontainer.json + "ghcr.io/devcontainers/features/common-utils:2": { + "installZsh": "true", + "username": "vscode", + "userUid": "1000", + "userGid": "1000", + "upgradePackages": "true" + }, + "ghcr.io/devcontainers/features/go:1": { + "version": "none" + }, + "ghcr.io/devcontainers/features/node:1": { + "version": "none" + }, + "ghcr.io/devcontainers/features/git:1": { + "version": "latest", + "ppa": "false" + }, + // custom + "ghcr.io/devcontainers/features/sshd:1": {}, + "ghcr.io/devcontainers/features/docker-outside-of-docker:1": {}, + "ghcr.io/devcontainers/features/kubectl-helm-minikube:1": {}, + "ghcr.io/devcontainers/features/azure-cli:1": {}, + "ghcr.io/devcontainers-contrib/features/pre-commit:2": {}, + "ghcr.io/marcozac/devcontainer-features/shellcheck:1": {}, + "ghcr.io/rio/features/skaffold:2": {} } } diff --git a/hack/toolchain.sh b/hack/toolchain.sh index 6247bec81..a39f17107 100755 --- a/hack/toolchain.sh +++ b/hack/toolchain.sh @@ -26,6 +26,7 @@ tools() { go install github.com/google/go-containerregistry/cmd/crane@v0.20.2 go install github.com/go-swagger/go-swagger/cmd/swagger@v0.31.0 go install github.com/Azure/aks-node-viewer/cmd/aks-node-viewer@latest + go install github.com/google/pprof@latest if ! echo "$PATH" | grep -q "${GOPATH:-undefined}/bin\|$HOME/go/bin"; then echo "Go workspace's \"bin\" directory is not in PATH. Run 'export PATH=\"\$PATH:\${GOPATH:-\$HOME/go}/bin\"'."