chore: add devcontainer and vscode launch configurations (#128)

This commit is contained in:
Janis Jansons
2024-02-28 12:44:36 -08:00
committed by GitHub
parent 29878c5f6f
commit 45fdb9e437
6 changed files with 174 additions and 1 deletions
+22
View File
@@ -0,0 +1,22 @@
## Based on microsoft go devcontainer - https://github.com/microsoft/vscode-dev-containers/blob/v0.205.2/containers/go/.devcontainer/Dockerfile
# [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-bullseye
FROM mcr.microsoft.com/vscode/devcontainers/go:${VARIANT}
# [Choice] Node.js version: none, lts/*, 16, 14, 12, 10
ARG NODE_VERSION="none"
RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
&& apt-get -y install --no-install-recommends protobuf-compiler
USER vscode
RUN go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest \
&& go install github.com/bufbuild/buf/cmd/buf@v1.27.2 \
&& go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest \
&& go install google.golang.org/protobuf/cmd/protoc-gen-go@latest \
&& go install connectrpc.com/connect/cmd/protoc-gen-connect-go@latest \
&& go install github.com/GeertJohan/go.rice/rice@latest \
&& go install github.com/goreleaser/goreleaser@latest \
&& npm install -g @bufbuild/protoc-gen-es @connectrpc/protoc-gen-connect-es
+51
View File
@@ -0,0 +1,51 @@
{
"name": "Go",
"build": {
"dockerfile": "Dockerfile",
"args": {
// Update the VARIANT arg to pick a version of Go: 1, 1.16, 1.17
// Append -bullseye or -buster to pin to an OS version.
// Use -bullseye variants on local arm64/Apple Silicon.
"VARIANT": "1-1.21-bookworm",
// Options
"NODE_VERSION": "lts/*"
}
},
"runArgs": [
"--cap-add=SYS_PTRACE",
"--security-opt",
"seccomp=unconfined"
],
"customizations": {
"vscode": {
// Set *default* container specific settings.json values on container create.
"settings": {
"go.toolsManagement.checkForUpdates": "local",
"go.useLanguageServer": true,
"go.gopath": "/go",
"go.goroot": "/usr/local/go",
"typescript.tsdk": "webui/node_modules/typescript/lib",
"typescript.enablePromptUseWorkspaceTsdk": true,
"gitlens.telemetry.enabled": false
},
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"golang.Go",
"ms-azuretools.vscode-docker",
"mhutchie.git-graph",
"eamodio.gitlens",
"donjayamanne.githistory",
"esbenp.prettier-vscode",
"iulian-radu-at.vscode-tasks-sidebar"
]
}
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],
// Use 'postCreateCommand' to run commands after the container is created.
// "postCreateCommand": "go version",
// Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "vscode"
}