Creating a Temporary GCP Cluster with Install and Uninstall scripts
Objective
To create a temporary demo cluster on Google Cloud Platform
Artifacts
The Roost provided solution consists of:
Executable - gcpController
Config JSON template - gcp_config.json.template, gcp_config.json
Roost Website based access for Admin and Users - roost.io & roost.io/tufin
Steps to spawn a cluster on GCP
Connect to a terminal (Mac)
export the following variables at the minimum
ROOST_AUTH_TOKEN=”<Value provided by Roost Team>"
SVC_ACCOUNT_JSON=”Location of the googleApi.key”
USER_EMAIL="<any email value>"
USER_NAME="<any unique name, only alphabets>"
INSTALL_SCRIPT='["<path to installscipts that you want to execute on cluster >"
]'UNINSTALL_SCRIPT='["<path to uninstallscripts that you want to execute on cluster >"]'
Download and run the bash script at getController.sh
Sample usage is below:
# export the varables
export ROOST_AUTH_TOKEN="****" USER_EMAIL=abc@zb.io USER_NAME=user_name SVC_ACCOUNT_JSON="/var/tmp/Roost/googleApi.key" INSTALL_SCRIPT='["/var/tmp/Roost/clone.sh","/var/tmp/Roost/deploy.sh"]' UNINSTALL_SCRIPT='["/var/tmp/Roost/uninstall.sh"]';
curl https://tempclusterdev.s3-us-west-1.amazonaws.com/getController.sh -o ~/getController.sh
chmod +x ~/getController.sh
#
###
# To just download the binaries and config
~/getController.sh
#Start & Stop GCP Cluster using binary
/var/tmp/Roost/bin/gcpController start /var/tmp/Roost/bin/gcp_config.json
/var/tmp/Roost/bin/gcpController stop /var/tmp/Roost/bin/gcp_config.json
Content of the files (/var/tmp/Roost/clone.sh
, /var/tmp/Roost/deploy.sh
, /var/tmp/Roost/uninstall.sh
)
#!/bin/sh
export KUBECONFIG=/var/tmp/Roost/.kube/config.roostctl
cd /var/tmp
git clone https://github.com/bengrissinger/generic-bank.git
#!/bin/sh
export KUBECONFIG=/var/tmp/Roost/.kube/config.roostctl
cd /var/tmp/generic-bank
./deploy.sh CZ08W3S6WA3S
Steps for End-User
Open a browser and visit web-page roost.io/tufin
Enter the email and token provided by the admin
This will open a terminal on the web-page where Kubernetes and Docker commands can be run
To get the the public ip of the controlplane, Run
Using this public ip, you can connect to the services deployed