Skip to content

Instantly share code, notes, and snippets.

View mikesparr's full-sized avatar

Mike Sparr mikesparr

  • Montana, USA
View GitHub Profile
@mikesparr
mikesparr / setup-01-prereq.sh
Created August 27, 2020 17:58
Anthos GKE on AWS
#!/usr/bin/env bash
# Docs: https://cloud.google.com/anthos/gke/docs/aws/how-to/prerequisites
# NOTE: MUST have `jq` installed for JSON parsing to set ENV vars
export PROJECT_ID=$(gcloud config get-value project)
export PROJECT_OWNER=$(gcloud config get-value core/account) # set orig val
# confirm aws CLI working
aws --version
@mikesparr
mikesparr / main.tf
Last active March 9, 2023 11:34
Terraform GCP Secure Example (Infra)
terraform {
required_providers {
google = {
source = "hashicorp/google"
version = ">= 3.37"
}
google-beta = {
source = "hashicorp/google-beta"
version = ">= 3.37"
}
@mikesparr
mikesparr / anthos-gke-aws-setup01.sh
Last active March 27, 2021 18:09
Anthos GKE on AWS (prerequisites)
#!/usr/bin/env bash
# Docs: https://cloud.google.com/anthos/gke/docs/aws/how-to/prerequisites
# NOTE: MUST have `jq` installed for JSON parsing to set ENV vars
export PROJECT_ID=$(gcloud config get-value project)
export PROJECT_USER=$(gcloud config get-value core/account) # set current user
# confirm aws CLI working
aws --version
@mikesparr
mikesparr / anthos-gke-aws-setup02.sh
Last active September 12, 2020 17:36
Anthos GKE on AWS (management)
#!/usr/bin/env bash
# https://cloud.google.com/anthos/gke/docs/aws/how-to/installing-management
# NOTE: MUST have `jq` installed for JSON parsing to set ENV vars
export PROJECT_ID=$(gcloud config get-value project)
export PROJECT_OWNER=$(gcloud config get-value core/account) # set orig val
export ANTHOS_GKE_VERSION=$(anthos-gke version)
export AWS_REGION="us-east-2"
export ADMIN_AWS_IAM_ARN=$(aws sts get-caller-identity | jq '.Arn')
@mikesparr
mikesparr / anthos-gke-aws-setup03.sh
Last active September 13, 2020 03:20
Anthos GKE on AWS (cluster)
#!/usr/bin/env bash
# https://cloud.google.com/anthos/gke/docs/aws/how-to/creating-user-cluster
# from setup-02-mgmt.sh
unset HTTP_PROXY # reset
export NODE_KEY_PATH=$(PWD)/node-key.json
export GOOGLE_APPLICATION_CREDENTIALS=$NODE_KEY_PATH
# create example user cluster config
@mikesparr
mikesparr / anthos-gke-aws-setup04.sh
Created September 12, 2020 19:42
Anthos GKE on AWS (connect)
#!/usr/bin/env bash
# https://cloud.google.com/anthos/gke/docs/aws/how-to/connecting-to-a-cluster
# from setup-02-mgmt.sh
unset HTTP_PROXY # reset
export NODE_KEY_PATH=$(PWD)/node-key.json
export GOOGLE_APPLICATION_CREDENTIALS=$NODE_KEY_PATH
# make sure bastion_tunnel.sh is running
@mikesparr
mikesparr / anthos-service-mesh.sh
Last active March 20, 2023 15:55
Install Anthos Service Mesh and Hipster shop
#!/usr/bin/env bash
export PROJECT_ID=$(gcloud config get-value project)
export PROJECT_USER=$(gcloud config get-value core/account) # set current user
export CLUSTER_NAME="central"
export CLUSTER_LOCATION="us-central1"
export MACHINE_TYPE="n1-standard-4"
export NODE_POOL_NAME="default-pool"
export NETWORK_NAME="anthos-demo"
@mikesparr
mikesparr / vpc-service-control-demo-setup.sh
Last active January 1, 2021 19:03
VPC Service Control (Setup)
#!/usr/bin/env bash
export ORG_ID="CHANGEME"
export PROJECT_ID=$(gcloud config get-value project)
export PROJECT_USER=$(gcloud config get-value core/account) # set current user
export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")
export IDNS=${PROJECT_ID}.svc.id.goog # workflow identity domain
export DATA_SA_NAME="data-viewer"
export DATA_SA_ID="${DATA_SA_NAME}@${PROJECT_ID}.iam.gserviceaccount.com"
@mikesparr
mikesparr / vpc-service-control-demo-teardown.sh
Last active January 1, 2021 19:04
VPC Service Control (Teardown)
#!/usr/bin/env bash
export ORG_ID="CHANGEME"
export PROJECT_ID=$(gcloud config get-value project)
export PROJECT_USER=$(gcloud config get-value core/account) # set current user
export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")
export IDNS=${PROJECT_ID}.svc.id.goog # workflow identity domain
export DATA_SA_NAME="data-viewer"
export DATA_SA_ID="${DATA_SA_NAME}@${PROJECT_ID}.iam.gserviceaccount.com"
@mikesparr
mikesparr / app-engine-custom-tls.sh
Created October 9, 2020 08:19
Google App Engine demo script adding custom SSL policies to custom domain
#!/usr/bin/env bash
# https://cloud.google.com/appengine/docs/standard/python3/quickstart
export PROJECT_ID="mike-gae-custom-tls"
export PROJECT_USER=$(gcloud config get-value core/account) # set current user
export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")
export GAE_SA="${PROJECT_NUMBER}@cloudbuild.gserviceaccount.com"
export POLICY_NAME="pci-policy"