Skip to content

Commit

Permalink
add extra:gcp container
Browse files Browse the repository at this point in the history
  • Loading branch information
usrbinkat committed Mar 25, 2024
1 parent 0cd7dcf commit bcc446a
Show file tree
Hide file tree
Showing 2 changed files with 358 additions and 0 deletions.
30 changes: 30 additions & 0 deletions .devcontainer/gcp/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
FROM ghcr.io/pulumi/devcontainer:extra

##################################################################################
# Install Google Cloud SDK

ENV CLOUDSDK_INSTALL_DIR /usr/local/gcloud/
ENV PATH $PATH:/usr/local/gcloud/google-cloud-sdk/bin

USER root
RUN echo \
&& export ARCH=$(uname -m | awk '{ if ($1 == "x86_64") print "amd64"; else if ($1 == "aarch64" || $1 == "arm64") print "arm64"; else print "unknown" }') \
&& export NAME="gcloud" \
&& export TEST="${NAME} version" \
&& export PKG="google-cloud-sdk.tar.gz" \
&& export URL="https://dl.google.com/dl/cloudsdk/release/${PKG}" \
&& export DIR="/usr/local/gcloud" \
&& echo "---------------------------------------------------------"\
&& echo "INFO[${NAME}] Installed:" \
&& echo "INFO[${NAME}] Command: ${NAME}" \
&& echo "INFO[${NAME}] Package: ${PKG}" \
&& echo "INFO[${NAME}] Architecture: ${ARCH}" \
&& echo "INFO[${NAME}] Source: ${URL}" \
&& echo "---------------------------------------------------------"\
&& mkdir -p ${DIR} \
&& ${curl} ${URL} | tar xzvf - --directory ${DIR} \
&& /usr/local/gcloud/google-cloud-sdk/install.sh -q \
&& ${dir_clean} \
&& ${TEST} \
&& echo
USER vscode
328 changes: 328 additions & 0 deletions .devcontainer/gcp/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,328 @@
{
"name": "devcontainer-extra-gcp",
"remoteUser": "vscode",
"dockerFile": "Dockerfile",
"init": true,
"runArgs": [],
"privileged": true,
"overrideCommand": false,
"updateRemoteUserUID": true,
"shutdownAction": "stopContainer",
"securityOpt": ["seccomp=unconfined"],
"features": {
"ghcr.io/devcontainers/features/docker-outside-of-docker:1": {}
},
"mounts": ["source=dind-var-lib-docker,target=/var/lib/docker,type=volume"],
"postCreateCommand": "devcontainer-links",
//"workspaceFolder": "/workspaces/devcontainer",
//"workspaceMount": "source=.,target=/home/vscode/devcontainer,type=bind,consistency=cached",
//"workspaceFolder": "/home/vscode/devcontainer",
"forwardPorts": [1313, 2222, 6000, 7681, 8080],
"customizations": {
"vscode": {
"settings": {
"telemetry.enableTelemetry": "off",
"initializeCommand": "echo 'Initializing...'",
"postCreateCommand": "echo 'Post create...'",
"postStartCommand": "echo 'Post start...'",
"postAttachCommand": "echo 'Post attach...'",
"window": {
"titleBarStyle": "custom",
"title": "${localWorkspaceFolderBasename}${separator}${containerName}${separator}${profileName}${separator}${activeEditorShort}"
},
"search": {
"defaultViewMode": "list"
},
"vim": {
"disableExtension": true,
"useSystemClipboard": true,
"useCtrlKeys": true,
"easymotion": true,
"incsearch": true,
"hlsearch": true,
"cursorStylePerMode": {
"normal": "block",
"insert": "line",
"visual": "underline",
"visualline": "underline",
"visualblock": "underline",
"replace": "block"
},
"insertModeKeyBindings": [
{
"before": ["j", "j"],
"after": ["<esc>"]
}
],
"handleKeys": {
"<C-a>": false,
"<C-f>": false
}
},
"extensions.experimental.affinity": {
"vscodevim.vim": 1
},
"zenmode": {
"toggle": true,
"hideTabs": false,
"fullScreen": true,
"hideMinimap": true,
"centerLayout": false,
"hideStatusBar": false,
"hideActivityBar": false,
"hideLineNumbers": false,
"silentNotifications": true,
"hideLineDecorations": false,
"hideCursorInOverviewRuler": true
},
"editor": {
"tabSize": 4,
"fontSize": 14,
"autoSave": "onFocusChange",
"wordWrap": "off",
"showTabs": true,
"showIcons": true,
"tabSizing": "shrink",
"lineHeight": 20,
"autoIndent": true,
"lineNumbers": "relative",
"formatOnSave": true,
"insertSpaces": true,
"tabScrolling": "auto",
//"tabFocusMode": false,
//"tabMovesFocus": false,
"tabCompletion": "on",
"tabDecoration": true,
"fontLigatures": true,
"enablePreview": true,
"startupEditor": "readme",
"tabCloseButton": "right",
"minimap.enabled": false,
"openPositioning": "right",
"restoreViewState": true,
"renderWhitespace": "all",
"suggestSelection": "first",
"closeOnFileDelete": true,
"autoClosingQuotes": "always",
"snippetSuggestions": "top",
"autoClosingBrackets": "always",
"tabHistoryNavigation": true,
"quickSuggestionsDelay": 50,
"autoImportCompletions": true,
"scrollBeyondLastLine": true,
"highlightModifiedTabs": true,
"inlineSuggest.enabled": true,
"parameterHints.enabled": true,
"trimTrailingWhitespace": true,
"lineHighlightBackground": "#30BFBF",
"highlightActiveIndentGuide": true,
"fontFamily": "'FiraMono Nerd Font Mono', monospace",
"gotoLocation": {
"multipleReferences": "goto",
"multipleDefinitions": "goto",
"multipleDeclarations": "goto",
"multipleImplementations": "goto",
"multipleTypeDefinitions": "goto"
},
"scrollbar": {
"alwaysConsumeMouseWheel": true
},
"bracketPairColorization": {
"enabled": true
}
},
"files": {
"encoding": "utf8",
"autoSave": "onFocusChange",
"trimFinalNewlines": true,
"insertFinalNewline": true,
"trimTrailingWhitespace": true
},
"git": {
"enabled": true,
"autofetch": true,
"autoStash": true,
"autorefresh": true,
"gitProtocol": "https",
"ignoreSubmodules": true,
"enableSmartCommit": true,
"ignoreLegacyWarning": true,
"autoRepositoryDetection": "openEditors",
"defaultCloneParentDirectory": "/home/vscode",
"scanRepositories": ["/home/vscode", "/workspaces"],
"path": "/usr/local/bin/git"
},
"github.copilot": {
"enable": {
"*": false,
"markdown": false,
"plaintext": false
}
},
"go": {
"testTags": "all",
"vetOnSave": "off",
"buildTags": "all",
"lintOnSave": "off",
"testOnSave": "off",
"buildOnSave": "off",
"formatTool": "goimports",
"testEnvVars": {
"GOFLAGS": "-count=1"
},
"generateTestsFlags": ["-count=1"]
},
"terminal": {
"integrated": {
//"cwd": "/home/vscode/devcontainer",
"fontSize": 14,
"scrollback": 10000,
"cursorStyle": "outline",
"cursorBlinking": true,
"copyOnSelection": true,
"sendKeybindingsToShell": false,
"cursorStyleInactive": "line",
"fontFamily": "FiraMono Nerd Font Mono",
"commandsToSkipShell": [],
"scrollbar": {
"alwaysConsumeMouseWheel": true
},
"shell": {
"linux": "/usr/bin/bash"
}
}
},
"vs-kubernetes": {
"vs-kubernetes.namespace": "*",
"vs-kubernetes.outputFormat": "yaml",
"vs-kubernetes.helm-path": "/usr/local/bin/helm",
"vs-kubernetes.kubeconfig": "/home/vscode/.kube/config",
"vs-kubernetes.kubectl-path": "/usr/local/bin/kubectl",
"vs-kubernetes.knownKubeconfigs": [
"/workspaces/*/.kube/config",
"/home/vscode/*/.kube/config",
"/home/vscode/.kube/config"
]
},
"remote": {
"restoreForwardedPorts": true,
"localPortHost": "127.0.0.1"
},
"2gua.rainbow-brackets": true,
"indentRainbow": {
"indicatorStyle": "light",
"colorOnWhiteSpaceOnly": true,
"lightIndicatorStyleLineWidth": 12,
"ignoreEmptyLines": true,
"errorColor": "rgba(255, 20, 147, 0.3)", // Bright Pink for errors
"tabmixColor": "rgba(128, 32, 96, 0.3)", // Purple for mixed tabs and spaces
"colors": [
"rgba(50, 150, 250, 0.1)", // Bright Blue
"rgba(200, 50, 250, 0.1)", // Purple
"rgba(50, 250, 150, 0.1)", // Neon Green
"rgba(250, 50, 150, 0.1)", // Pink
"rgba(50, 200, 250, 0.1)", // Lighter Blue
"rgba(150, 50, 250, 0.1)", // Darker Purple
"rgba(50, 250, 200, 0.1)", // Brighter Green
"rgba(250, 150, 50, 0.1)" // Orange
],
"ignoreErrorLanguages": [
"haskell",
"markdown",
"plaintext",
"shellscript",
"dockerfile",
"plaintext"
]
},
"workbench": {
"colorTheme": "Cyberpunk",
"startupEditor": "readme",
"action.terminal.focusNext": {
"key": "ctrl+shift+down",
"mac": "cmd+shift+down"
}
},
"autoOpenPreviewPanel.openPreviewToTheSide": false,
"explorer.openEditors.visible": 1,
"explorer": {
"openEditors": {
"visible": 1
},
"autoRevealExclude": {
"**/.git/objects/**": true,
"**/.git/subtree-cache/**": true,
"**/node_modules/**": true
},
"autoReveal": true,
"sortOrder": "filesFirst"
}
},
"[makefile]": {
"editor.insertSpaces": false,
"editor.renderWhitespace": "selection"
},
"[yaml]": {
"editor": {
"trimTrailingWhitespace": true,
"insertFinalNewline": true,
"wordWrap": "off",
"lineNumbers": "relative",
"renderWhitespace": "all",
"autoSave": "onFocusChange",
"formatOnSave": true,
"insertSpaces": true,
"tabSize": 2,
"minimap.enabled": true,
"scrollBeyondLastLine": true,
"scrollbar": {
"alwaysConsumeMouseWheel": true
}
}
},
"[markdown]": {
"editor": {
"tabSize": 4,
"wordWrap": "on",
"autoSave": "onFocusChange",
"lineNumbers": "relative",
"formatOnSave": true,
"insertSpaces": true,
"minimap.enabled": false,
"renderWhitespace": "all",
"insertFinalNewline": true,
"scrollBeyondLastLine": true,
"trimTrailingWhitespace": false,
"scrollbar": {
"alwaysConsumeMouseWheel": true
}
}
},
"extensions": [
"golang.go",
"vscodevim.vim",
"github.copilot",
"max-ss.cyberpunk",
"ms-python.python",
"redhat.vscode-yaml",
"esbenp.prettier-vscode",
"oderwat.indent-rainbow",
"okteto.kubernetes-context",
"ms-vsliveshare.vsliveshare",
"chadonsom.auto-view-readme",
"ms-azuretools.vscode-docker",
"github.vscode-github-actions",
"ms-kubernetes-tools.kind-vscode",
"ms-vscode.vscode-typescript-next",
"github.vscode-pull-request-github",
"matt-rudge.auto-open-preview-panel",
"ms-vscode-remote.remote-containers",
"ms-edgedevtools.vscode-edge-devtools",
"bierner.markdown-preview-github-styles",
"visualstudioexptteam.vscodeintellicode",
"bierner.markdown-preview-github-styles",
"ms-kubernetes-tools.vscode-kubernetes-tools"
]
}
}
}

0 comments on commit bcc446a

Please sign in to comment.