github.com/mre-fog/trillianxx@v1.1.2-0.20180615153820-ae375a99d36a/examples/deployment/kubernetes/delete.sh (about)

     1  #!/usr/bin/env bash
     2  #
     3  # This script (optionally) deletes resources in a Google Cloud project to host a Trillian instance using Kubernetes.
     4  
     5  set -e
     6  
     7  DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
     8  source ${DIR}/config.sh
     9  
    10  # Check required binaries are installed
    11  if ! gcloud --help > /dev/null; then
    12    echo "Need gcloud installed."
    13    exit 1
    14  fi
    15  if ! kubectl --help > /dev/null; then
    16    echo "Need kubectl installed."
    17    exit 1
    18  fi
    19  if ! jq --help > /dev/null; then
    20    echo "Please install the jq command"
    21    exit 1
    22  fi
    23  
    24  # Connect to gcloud
    25  gcloud config set project ${PROJECT_NAME}
    26  gcloud config set compute/zone ${ZONE}
    27  
    28  # Delete cluster & node pools
    29  gcloud beta container clusters delete ${CLUSTER_NAME} --quiet
    30  
    31  # Delete spanner instance & DB(s)
    32  gcloud spanner instances delete trillian-spanner --quiet
    33  
    34  # Delete service account and key(s)
    35  gcloud iam service-accounts delete trillian@${PROJECT_NAME}.iam.gserviceaccount.com --quiet
    36  
    37  # Remove roles
    38  for ROLE in spanner.databaseUser logging.logWriter monitoring.metricWriter; do 
    39    gcloud projects remove-iam-policy-binding "${PROJECT_NAME}" --member "serviceAccount:trillian@${PROJECT_NAME}.iam.gserviceaccount.com" --role "roles/${ROLE}"
    40  done