From c12a205ab8e195541acfe0cb654b4888e16ea05c Mon Sep 17 00:00:00 2001 From: Josh Spicer Date: Fri, 3 Jun 2022 10:46:25 -0400 Subject: Pass options via environment variables (#39) * up to docker-in-docker converted * first pass at the rest of the features (and bash linting and updated CLI * move shell linter to own file * rename feature.json -> devcontainer-feature.json * continue on error * continue on error in right spot * formatting * fix AZ_VERSION * update python * restore variable name * update linter actions, fix dind/dfd/desktop scripts, add test-scenaerios * add tree because I like tree * glob for shell linter * fix test-scenarios * shell linter * more shell helper --- .../devcontainer-feature.json | 48 ++++++++++++++++++++++ src/kubectl-helm-minikube/feature.json | 38 ----------------- src/kubectl-helm-minikube/install.sh | 19 ++++----- 3 files changed, 57 insertions(+), 48 deletions(-) create mode 100644 src/kubectl-helm-minikube/devcontainer-feature.json delete mode 100644 src/kubectl-helm-minikube/feature.json (limited to 'src/kubectl-helm-minikube') diff --git a/src/kubectl-helm-minikube/devcontainer-feature.json b/src/kubectl-helm-minikube/devcontainer-feature.json new file mode 100644 index 0000000..8b50879 --- /dev/null +++ b/src/kubectl-helm-minikube/devcontainer-feature.json @@ -0,0 +1,48 @@ +{ + "id": "kubectl-helm-minikube", + "name": "Kubectl, Helm, and Minkube", + "options": { + "version": { + "type": "string", + "proposals": [ + "latest", + "none", + "1.23", + "1.22", + "1.21" + ], + "default": "latest", + "description": "Select or enter a Kubernetes version to install" + }, + "helm": { + "type": "string", + "proposals": [ + "latest" + ], + "default": "latest", + "description": "Select or enter a Helm version to install" + }, + "minikube": { + "type": "string", + "proposals": [ + "latest" + ], + "default": "latest", + "description": "Select or enter a Minikube version to install" + } + }, + "extensions": [ + "ms-kubernetes-tools.vscode-kubernetes-tools" + ], + "mounts": [ + { + "source": "minikube-config", + "target": "/home/vscode/.minikube", + "type": "volume" + } + ], + "install": { + "app": "", + "file": "install.sh" + } +} \ No newline at end of file diff --git a/src/kubectl-helm-minikube/feature.json b/src/kubectl-helm-minikube/feature.json deleted file mode 100644 index 7033c7a..0000000 --- a/src/kubectl-helm-minikube/feature.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": "kubectl-helm-minikube", - "name": "Kubectl, Helm, and Minkube", - "options": { - "version": { - "type": "string", - "proposals": ["latest", "none", "1.23", "1.22", "1.21"], - "default": "latest", - "description": "Select or enter a Kubernetes version to install" - }, - "helm": { - "type": "string", - "proposals": ["latest"], - "default": "latest", - "description": "Select or enter a Helm version to install" - }, - "minikube": { - "type": "string", - "proposals": ["latest"], - "default": "latest", - "description": "Select or enter a Minikube version to install" - } - }, - "extensions": [ - "ms-kubernetes-tools.vscode-kubernetes-tools" - ], - "mounts": [ - { - "source":"minikube-config", - "target":"/home/vscode/.minikube", - "type":"volume" - } - ], - "install": { - "app": "", - "file": "install.sh" - } -} \ No newline at end of file diff --git a/src/kubectl-helm-minikube/install.sh b/src/kubectl-helm-minikube/install.sh index 0981024..b10f578 100644 --- a/src/kubectl-helm-minikube/install.sh +++ b/src/kubectl-helm-minikube/install.sh @@ -6,18 +6,17 @@ # # Docs: https://github.com/microsoft/vscode-dev-containers/blob/main/script-library/docs/kubectl-helm.md # Maintainer: The VS Code and Codespaces Teams -# -# Syntax: ./kubectl-helm-debian.sh [kubectl verison] [Helm version] [minikube version] [kubectl SHA256] [Helm SHA256] [minikube SHA256] set -e -KUBECTL_VERSION="${1:-"latest"}" -HELM_VERSION="${2:-"latest"}" -MINIKUBE_VERSION="${3:-"none"}" # latest is also valid -KUBECTL_SHA256="${4:-"automatic"}" -HELM_SHA256="${5:-"automatic"}" -MINIKUBE_SHA256="${6:-"automatic"}" -USERNAME=${7:-"automatic"} +KUBECTL_VERSION="${VERSION:-"latest"}" +HELM_VERSION="${HELM:-"latest"}" +MINIKUBE_VERSION="${MINIKUBE:-"none"}" # latest is also valid + +KUBECTL_SHA256="${KUBECTL_SHA256:-"automatic"}" +HELM_SHA256="${HELM_SHA256:-"automatic"}" +MINIKUBE_SHA256="${MINIKUBE_SHA256:-"automatic"}" +USERNAME=${USERNAME:-"automatic"} HELM_GPG_KEYS_URI="https://raw.githubusercontent.com/helm/helm/main/KEYS" GPG_KEY_SERVERS="keyserver hkp://keyserver.ubuntu.com:80 @@ -33,7 +32,7 @@ fi if [ "${USERNAME}" = "auto" ] || [ "${USERNAME}" = "automatic" ]; then USERNAME="" POSSIBLE_USERS=("vscode" "node" "codespace" "$(awk -v val=1000 -F ":" '$3==val{print $1}' /etc/passwd)") - for CURRENT_USER in ${POSSIBLE_USERS[@]}; do + for CURRENT_USER in "${POSSIBLE_USERS[@]}"; do if id -u ${CURRENT_USER} > /dev/null 2>&1; then USERNAME=${CURRENT_USER} break -- cgit v1.2.3