From 09a3059378a45aeee71e84814199dc50cbbcb855 Mon Sep 17 00:00:00 2001 From: Marcus Noble Date: Sun, 21 Jan 2024 18:25:02 +0000 Subject: [PATCH] Added standup/teardown helpers Signed-off-by: Marcus Noble --- home/.bin/gs-standup | 88 +++++++++++++++++++++++++++++++++++++++++++ home/.bin/gs-teardown | 87 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 175 insertions(+) create mode 100755 home/.bin/gs-standup create mode 100755 home/.bin/gs-teardown diff --git a/home/.bin/gs-standup b/home/.bin/gs-standup new file mode 100755 index 0000000..23c6ead --- /dev/null +++ b/home/.bin/gs-standup @@ -0,0 +1,88 @@ +#!/usr/bin/env bash + +source .utils + +CODE_DIR="${HOME}/Code/GiantSwarm/cluster-test-suites" + +print_usage() { + orange "gs-standup - Standup a new test workload cluster, using the cluster-test-suites modules." + echo " " + underline "Usage:" + echo "gs-standup [provider]" + echo " " + underline "Examples:" + echo "> gs-standup capa" + echo "> gs-standup eks" + echo " " + underline "Options:" + echo "-h, --help show this help text" + echo " --dir override the directory of cluster-test-suite code" +} + +POS_ARGS=() + +while test $# -gt 0; do + case "$1" in + -h|--help) + print_usage + exit 0 + ;; + --dir) + shift + CODE_DIR=$1 + shift + ;; + *) + POS_ARGS+=(`echo $1 | tr '/' ' '`) + shift + ;; + esac +done + +case ${#POS_ARGS[@]} in + 0) + print_usage + exit 1 + ;; + 1) + PROVIDER="" + CONTEXT="" + + case ${POS_ARGS[0]} in + "aws"|"capa") + PROVIDER="aws" + CONTEXT="capa" + ;; + "azure"|"capz") + PROVIDER="azure" + CONTEXT="capz" + ;; + "vsphere"|"capv") + PROVIDER="vsphere" + CONTEXT="capv" + ;; + "cloud-director"|"capvcd") + PROVIDER="cloud-director" + CONTEXT="capvcd" + ;; + "eks") + PROVIDER="eks" + CONTEXT="eks" + ;; + "aws-private"|"capa-private") + PROVIDER="aws" + CONTEXT="capa-private-proxy" + ;; + esac + + go run ${CODE_DIR}/cmd/standup/main.go \ + --provider ${PROVIDER} \ + --context ${CONTEXT} \ + --cluster-values ${CODE_DIR}/providers/${CONTEXT}/standard/test_data/cluster_values.yaml \ + --default-apps-values ${CODE_DIR}/providers/${CONTEXT}/standard/test_data/default-apps_values.yaml + ;; + *) + print_usage + exit 1 + ;; +esac diff --git a/home/.bin/gs-teardown b/home/.bin/gs-teardown new file mode 100755 index 0000000..cb6e8eb --- /dev/null +++ b/home/.bin/gs-teardown @@ -0,0 +1,87 @@ +#!/usr/bin/env bash + +source .utils + +CODE_DIR="${HOME}/Code/GiantSwarm/cluster-test-suites" + +print_usage() { + orange "gs-teardown - Teardown a previously created test cluster" + echo " " + underline "Usage:" + echo "gs-teardown [provider]" + echo " " + underline "Examples:" + echo "> gs-teardown capa" + echo "> gs-teardown eks" + echo " " + underline "Options:" + echo "-h, --help show this help text" + echo " --dir override the directory of cluster-test-suite code" +} + +POS_ARGS=() + +while test $# -gt 0; do + case "$1" in + -h|--help) + print_usage + exit 0 + ;; + --dir) + shift + CODE_DIR=$1 + shift + ;; + *) + POS_ARGS+=(`echo $1 | tr '/' ' '`) + shift + ;; + esac +done + +case ${#POS_ARGS[@]} in + 0) + print_usage + exit 1 + ;; + 1) + PROVIDER="" + CONTEXT="" + + case ${POS_ARGS[0]} in + "aws"|"capa") + PROVIDER="aws" + CONTEXT="capa" + ;; + "azure"|"capz") + PROVIDER="azure" + CONTEXT="capz" + ;; + "vsphere"|"capv") + PROVIDER="vsphere" + CONTEXT="capv" + ;; + "cloud-director"|"capvcd") + PROVIDER="cloud-director" + CONTEXT="capvcd" + ;; + "eks") + PROVIDER="eks" + CONTEXT="eks" + ;; + "aws-private"|"capa-private") + PROVIDER="aws" + CONTEXT="capa-private-proxy" + ;; + esac + + go run ${CODE_DIR}/cmd/teardown/main.go \ + --provider ${PROVIDER} \ + --context ${CONTEXT} \ + --standup-directory ./ + ;; + *) + print_usage + exit 1 + ;; +esac