From 31f7ea6985ea54433eaa8c66881c9534130757b7 Mon Sep 17 00:00:00 2001 From: jason Date: Mon, 14 May 2018 12:15:48 -0600 Subject: [PATCH] script to automate WebGoat deployment on GKE --- .../GCP/GKE-Docker/gke-deploy-config.sh | 4 ++ .../GCP/GKE-Docker/gke-deploy.sh | 47 +++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 platformQuickStarts/GCP/GKE-Docker/gke-deploy-config.sh create mode 100644 platformQuickStarts/GCP/GKE-Docker/gke-deploy.sh diff --git a/platformQuickStarts/GCP/GKE-Docker/gke-deploy-config.sh b/platformQuickStarts/GCP/GKE-Docker/gke-deploy-config.sh new file mode 100644 index 000000000..87a076730 --- /dev/null +++ b/platformQuickStarts/GCP/GKE-Docker/gke-deploy-config.sh @@ -0,0 +1,4 @@ +CURTAG=webgoat/webgoat-8.0 +DEST_TAG=gcr.io/your-gke-project/your-webgoat-tag +CLUSTER_NAME=your-cluster-name +PORT_NUM=8080 \ No newline at end of file diff --git a/platformQuickStarts/GCP/GKE-Docker/gke-deploy.sh b/platformQuickStarts/GCP/GKE-Docker/gke-deploy.sh new file mode 100644 index 000000000..7be5f336c --- /dev/null +++ b/platformQuickStarts/GCP/GKE-Docker/gke-deploy.sh @@ -0,0 +1,47 @@ +#!/bin/bash + +source deploy.cfg + +echo "tagging $CURTAG to $DEST_TAG" +docker tag $CURTAG $DEST_TAG +# gcloud docker -- push $DEST_TAG +docker push $DEST_TAG +if [ $? -eq 0 ]; then + echo "*** $DEST_TAG pushed ... " +else + echo "failed to push $DEST_TAG to GKE repo" + exit 1 +fi + +echo "*** creating cluster $CLUSTER_NAME ... " +gcloud container clusters create $CLUSTER_NAME +if [ $? -eq 0 ]; then + echo "*** $CLUSTER_NAME cluster created ... " +else + echo "!!! failed to create cluster $CLUSTER_NAME" + exit 1 +fi + + +# DEST_TAG refers to the docker image we'll use +kubectl run $CLUSTER_NAME --image=$DEST_TAG --port=$PORT_NUM +if [ $? -eq 0 ]; then + echo "*** cluster should be running now ... " +else + echo "!!! failed to start service" + echo "*** cleaning up, deleting cluster ... " + gcloud container clusters delete $CLUSTER_NAME --quiet + exit 1 +fi + +kubectl expose deployment $CLUSTER_NAME --type="LoadBalancer" +if [ $? -eq 0 ]; then + echo "*** cluster exposed via load balancer ... " + echo "*** TO GET YOUR SERVICE's IP, run ... " + echo "$ kubectl get service $CLUSTER_NAME" +else + echo "!!! failed to start service" + echo "*** cleaning up, deleting cluster ... " + gcloud container clusters delete $CLUSTER_NAME --quiet + exit 1 +fi