diff --git a/.gitpod.yml b/.gitpod.yml index b9b8bce4f814e0..4a7e6d34e6d6a3 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -33,7 +33,7 @@ ports: tasks: - name: Add Harvester kubeconfig command: | - ./dev/preview/download-and-merge-harvester-kubeconfig.sh + ./dev/preview/util/download-and-merge-harvester-kubeconfig.sh exit 0 - name: Java init: | diff --git a/dev/preview/install-k3s-kubeconfig.sh b/dev/preview/install-k3s-kubeconfig.sh index 3434f8ef4f901f..45ec081e47f822 100755 --- a/dev/preview/install-k3s-kubeconfig.sh +++ b/dev/preview/install-k3s-kubeconfig.sh @@ -2,20 +2,23 @@ set -euo pipefail -source ./dev/preview/util/preview-name-from-branch.sh +THIS_DIR="$(dirname "$0")" + +source "$THIS_DIR/util/preview-name-from-branch.sh" -VM_NAME="$(preview-name-from-branch)" +if [[ -z "${VM_NAME:-}" ]]; then + VM_NAME="$(preview-name-from-branch)" +fi PRIVATE_KEY=$HOME/.ssh/vm_id_rsa PUBLIC_KEY=$HOME/.ssh/vm_id_rsa.pub -THIS_DIR="$(dirname "$0")" USER="ubuntu" KUBECONFIG_PATH="/home/gitpod/.kube/config" K3S_KUBECONFIG_PATH="$(mktemp)" MERGED_KUBECONFIG_PATH="$(mktemp)" -K3S_CONTEXT="k3s-preview-environment" +K3S_CONTEXT="${VM_NAME}" K3S_ENDPOINT="${VM_NAME}.kube.gitpod-dev.com" while getopts n:p:u: flag @@ -34,7 +37,7 @@ function log { function set-up-ssh { if [[ (! -f $PRIVATE_KEY) || (! -f $PUBLIC_KEY) ]]; then log Setting up ssh-keys - "$THIS_DIR"/install-vm-ssh-keys.sh + "$THIS_DIR"/util/install-vm-ssh-keys.sh fi } @@ -42,7 +45,7 @@ set-up-ssh "$THIS_DIR"/ssh-vm.sh \ -c "sudo cat /etc/rancher/k3s/k3s.yaml" \ - | sed 's/default/'${K3S_CONTEXT}'/g' \ + | sed "s/default/${K3S_CONTEXT}/g" \ | sed -e 's/127.0.0.1/'"${K3S_ENDPOINT}"'/g' \ > "${K3S_KUBECONFIG_PATH}" diff --git a/dev/preview/list-vms.sh b/dev/preview/list-vms.sh new file mode 100755 index 00000000000000..5ef4f3a2fda436 --- /dev/null +++ b/dev/preview/list-vms.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -eup pipefail + +kubectl --context=harvester get vms -A -o=jsonpath='{.items[*].metadata.name}' | xargs -n 1 echo diff --git a/dev/preview/portforward-monitoring-satellite.sh b/dev/preview/portforward-monitoring-satellite.sh index a3da45cef3a7f8..13cc40351c7917 100755 --- a/dev/preview/portforward-monitoring-satellite.sh +++ b/dev/preview/portforward-monitoring-satellite.sh @@ -19,9 +19,9 @@ done if [[ $CONTEXT == 'core-dev' ]]; then - "$THIS_DIR"/portforward-monitoring-satellite-core-dev.sh + "$THIS_DIR"/util/portforward-monitoring-satellite-core-dev.sh elif [[ $CONTEXT == 'harvester' ]]; then - "$THIS_DIR"/portforward-monitoring-satellite-harvester.sh + "$THIS_DIR"/util/portforward-monitoring-satellite-harvester.sh else log "Error: context should be one of the following: ['core-dev', 'harvester']" log "Usage: './dev/preview/portforward-monitoring-satellite.sh -c harvester' or './dev/preview/portforward-monitoring-satellite.sh -c core-dev'" diff --git a/dev/preview/ssh-vm.sh b/dev/preview/ssh-vm.sh index 95381632e1a1ac..0a776e88906ef4 100755 --- a/dev/preview/ssh-vm.sh +++ b/dev/preview/ssh-vm.sh @@ -5,15 +5,18 @@ set -euo pipefail -source ./dev/preview/util/preview-name-from-branch.sh +THIS_DIR="$(dirname "$0")" -VM_NAME="$(preview-name-from-branch)" -NAMESPACE="preview-${VM_NAME}" +source "$THIS_DIR/util/preview-name-from-branch.sh" + +if [[ -z "${VM_NAME:-}" ]]; then + VM_NAME="$(preview-name-from-branch)" +fi +NAMESPACE="preview-${VM_NAME}" PRIVATE_KEY=$HOME/.ssh/vm_id_rsa PUBLIC_KEY=$HOME/.ssh/vm_id_rsa.pub PORT=8022 -THIS_DIR="$(dirname "$0")" USER="ubuntu" COMMAND="" @@ -41,13 +44,13 @@ function has-harvester-access { function set-up-ssh { if [[ (! -f $PRIVATE_KEY) || (! -f $PUBLIC_KEY) ]]; then echo Setting up ssh-keys - "$THIS_DIR"/install-vm-ssh-keys.sh + "$THIS_DIR"/util/install-vm-ssh-keys.sh fi } if ! has-harvester-access; then echo Setting up kubeconfig - "$THIS_DIR"/download-and-merge-harvester-kubeconfig.sh + "$THIS_DIR"/util/download-and-merge-harvester-kubeconfig.sh fi set-up-ssh @@ -56,7 +59,7 @@ ssh "$USER"@127.0.0.1 \ -o UserKnownHostsFile=/dev/null \ -o StrictHostKeyChecking=no \ -o LogLevel=ERROR \ - -o "ProxyCommand=$THIS_DIR/ssh-proxy-command.sh -p $PORT -n $NAMESPACE -v $VM_NAME" \ + -o "ProxyCommand=$THIS_DIR/util/ssh-proxy-command.sh -p $PORT -n $NAMESPACE -v $VM_NAME" \ -i "$HOME/.ssh/vm_id_rsa" \ -p "$PORT" \ "$COMMAND" diff --git a/dev/preview/distribute-images.sh b/dev/preview/test/distribute-images.sh similarity index 94% rename from dev/preview/distribute-images.sh rename to dev/preview/test/distribute-images.sh index e523c744564040..2966d74ebae263 100755 --- a/dev/preview/distribute-images.sh +++ b/dev/preview/test/distribute-images.sh @@ -13,8 +13,8 @@ do esac done -// We don't delete the namespace "distribute-${IMAGEID} because we want to avoid -// images from being garbage collected +# We don't delete the namespace "distribute-${IMAGEID} because we want to avoid +# images from being garbage collected NODES=$(kubectl get nodes -o=jsonpath='{.items[*].metadata.name}') NAMESPACE="distribute-${IMAGEID}" @@ -78,4 +78,4 @@ spec: persistentVolumeClaim: claimName: ${PVC} YAML -done \ No newline at end of file +done diff --git a/dev/preview/download-and-merge-harvester-kubeconfig.sh b/dev/preview/util/download-and-merge-harvester-kubeconfig.sh similarity index 100% rename from dev/preview/download-and-merge-harvester-kubeconfig.sh rename to dev/preview/util/download-and-merge-harvester-kubeconfig.sh diff --git a/dev/preview/install-vm-ssh-keys.sh b/dev/preview/util/install-vm-ssh-keys.sh similarity index 100% rename from dev/preview/install-vm-ssh-keys.sh rename to dev/preview/util/install-vm-ssh-keys.sh diff --git a/dev/preview/portforward-monitoring-satellite-core-dev.sh b/dev/preview/util/portforward-monitoring-satellite-core-dev.sh similarity index 90% rename from dev/preview/portforward-monitoring-satellite-core-dev.sh rename to dev/preview/util/portforward-monitoring-satellite-core-dev.sh index e289854572dbc4..01007a82742def 100755 --- a/dev/preview/portforward-monitoring-satellite-core-dev.sh +++ b/dev/preview/util/portforward-monitoring-satellite-core-dev.sh @@ -3,7 +3,9 @@ # Exposes Prometheus and Grafana's UI # -source ./dev/preview/util/preview-name-from-branch.sh +THIS_DIR="$(dirname "$0")" + +source "$THIS_DIR/preview-name-from-branch.sh" PREVIEW_NAME="$(preview-name-from-branch)" NAMESPACE="staging-${PREVIEW_NAME}" diff --git a/dev/preview/portforward-monitoring-satellite-harvester.sh b/dev/preview/util/portforward-monitoring-satellite-harvester.sh similarity index 81% rename from dev/preview/portforward-monitoring-satellite-harvester.sh rename to dev/preview/util/portforward-monitoring-satellite-harvester.sh index 0ff9f366f90efc..6a8977aec9becb 100755 --- a/dev/preview/portforward-monitoring-satellite-harvester.sh +++ b/dev/preview/util/portforward-monitoring-satellite-harvester.sh @@ -3,9 +3,14 @@ # Exposes Prometheus and Grafana's UI # -source ./dev/preview/util/preview-name-from-branch.sh +THIS_DIR="$(dirname "$0")" + +source "$THIS_DIR/preview-name-from-branch.sh" + +if [[ -z "${VM_NAME:-}" ]]; then + VM_NAME="$(preview-name-from-branch)" +fi -VM_NAME="$(preview-name-from-branch)" NAMESPACE="preview-${VM_NAME}" function log { diff --git a/dev/preview/ssh-proxy-command.sh b/dev/preview/util/ssh-proxy-command.sh similarity index 92% rename from dev/preview/ssh-proxy-command.sh rename to dev/preview/util/ssh-proxy-command.sh index 8888461cb42a0a..a64fa50df3fa9e 100755 --- a/dev/preview/ssh-proxy-command.sh +++ b/dev/preview/util/ssh-proxy-command.sh @@ -1,10 +1,5 @@ #!/usr/bin/env bash -source ./dev/preview/util/preview-name-from-branch.sh - -VM_NAME="$(preview-name-from-branch)" -NAMESPACE="preview-${VM_NAME}" - while getopts n:p:v: flag do case "${flag}" in @@ -15,6 +10,13 @@ do esac done +if [[ -z "${VM_NAME:-}" ]]; then + echo "VM_NAME not specified" + exit 1 +fi + +NAMESPACE="preview-${VM_NAME}" + pkill -f "kubectl --context=harvester (.*)${PORT}:2200" kubectl \ --context=harvester \