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 / delete-redis-vpc-cloud-function.sh
Last active May 21, 2020 16:35
Cleanup script for Google Cloud Functions with Redis and VPC Connector example
#!/usr/bin/env bash
# Reference: https://gist.github.com/mikesparr/8985378640242d8e453cc2212509814d
# set these to your specific environment
export PROJECT_ID=db-cluster-tests
export REDIS_INSTANCE=myinstance
export REDIS_VERSION="redis_4_0"
export GCP_REGION=us-central1
export GCP_NETWORK=default
@mikesparr
mikesparr / test-command.sh
Created June 11, 2020 00:23
Test command
kubectl get nodes
@mikesparr
mikesparr / k8s-config.yaml
Created June 28, 2020 22:03
Example multi-cluster kubernetes config with Argo CD (app of apps bootstrapping)
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: k8s-config
namespace: argocd
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
destination:
namespace: argocd
@mikesparr
mikesparr / app-engine-react-config.yaml
Created July 24, 2020 02:59
Google App Engine config for React app
# app.yaml
env: standard
runtime: nodejs10
service: app-engine-react-demo
handlers:
- url: /static
static_dir: build/static
@mikesparr
mikesparr / argo-cd-kong.yaml
Created August 21, 2020 03:03
Kong Argo CD application
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: kong
namespace: argocd
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
destination:
namespace: argocd
@mikesparr
mikesparr / create-dns-zone.sh
Created August 21, 2020 03:26
Create managed zone in Google Cloud DNS
source .env
# export PROJECT_ID=<from .env>
# export AUTH_NETWORK=<from .env>
export DNS_ZONE_NAME=msparr-com
# create dns zone (you will need to point nameservers to Cloud DNS)
gcloud beta dns --project=$PROJECT_ID managed-zones create $DNS_ZONE_NAME \
--description= \
--dns-name=msparr.com.
@mikesparr
mikesparr / kustomize-overlay-pr.yaml
Created August 21, 2020 04:13
Kustomize overlay example
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
bases:
- ../../base
commonLabels:
env: review
patchesStrategicMerge:
@mikesparr
mikesparr / kustomize-patch-ingress-host.yaml
Created August 21, 2020 04:14
Kustomize overlay patch example
---
apiVersion: extensions/v1beta1 # networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: demo-app-msparr-com
spec:
# tls:
# - secretName: tls-demo-app-msparr-com
# hosts:
# - demo-app.msparr.com
@mikesparr
mikesparr / cloudbuild-dns-step.yaml
Created August 21, 2020 04:19
Cloud Build CI example for custom Cloud DNS step
# dynamically create DNS CNAME entry for review app
- name: 'gcr.io/cloud-builders/gcloud'
entrypoint: 'bash'
args:
- '-c'
- |
gcloud dns --project=devops-pipeline-demo record-sets transaction start --zone=msparr-com
gcloud dns --project=devops-pipeline-demo record-sets transaction add kong-proxy.msparr.com. \
--name=demo-app-review-$_PR_NUMBER.msparr.com. \
--ttl=300 \
@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')