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 / 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-bootstrap.sh
Created August 21, 2020 02:56
Bootstrapping GKE cluster, cert manager, and Argo CD
#!/usr/bin/env bash
source .env
# export PROJECT_ID=<from .env>
# export AUTH_NETWORK=<from .env>
export GCP_REGION=us-central1
export GCP_ZONE=us-central1-b
export CLUSTER_VERSION="1.16.13-gke.1"
@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 / cloudbuild-dev-push.yaml
Created August 21, 2020 03:52
Google Cloud Build config for push to develop branch
steps:
# Build image and push to GCR
- name: 'gcr.io/cloud-builders/docker'
id: Build
args:
- 'build'
- '-t'
- 'gcr.io/$PROJECT_ID/$_SERVICE_NAME:$SHORT_SHA'
- '.'
# TODO: look into [images]
@mikesparr
mikesparr / cloudbuild-pr.yaml
Last active March 20, 2021 16:45
Google Cloud Build PR deploy
steps:
# Build image and push to GCR
- name: 'gcr.io/cloud-builders/docker'
id: Build
args:
- 'build'
- '-t'
- 'gcr.io/$PROJECT_ID/$_SERVICE_NAME:v$_PR_NUMBER'
- '.'
# TODO: look into [images]
@mikesparr
mikesparr / cloudbuild-merge.yaml
Created August 21, 2020 03:54
Google Cloud Build PR merge
steps:
# Build image and push to GCR
- name: 'gcr.io/cloud-builders/docker'
id: Build
args:
- 'build'
- '-t'
- 'gcr.io/$PROJECT_ID/$_SERVICE_NAME:$SHORT_SHA'
- '.'
# TODO: look into [images]
@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 \