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 / test-pvc.yaml
Created April 29, 2020 22:49
Article content for initContainers
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: test-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
@mikesparr
mikesparr / gcp-security-monitoring.md
Last active February 7, 2022 09:27
Google Cloud Platform CIS Benchmark Configs For Log Monitoring
@mikesparr
mikesparr / create-redis-vpc-function.sh
Last active November 28, 2023 16:14
Step-by-step setup of Google Cloud function connecting to Redis with Serverless VPC Connector
#!/usr/bin/env bash
# Reference: https://cloud.google.com/memorystore/docs/redis/connect-redis-instance-functions#python
# enable APIs
gcloud services enable redis.googleapis.com
gcloud services enable cloudfunctions.googleapis.com
gcloud services enable vpcaccess.googleapis.com
# set these to your specific environment
@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 / app-of-apps.yaml
Created June 28, 2020 20:51
Argo CD App of Apps config
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: applications
namespace: argocd
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
destination:
namespace: argocd
@mikesparr
mikesparr / create-k8s-clusters.sh
Created June 28, 2020 20:54
Multi cluster kubernetes config using Argo CD
#!/usr/bin/env bash
export PROJECT_ID=<YOUR-PROJECT-ID>
export AUTH_NETWORK="<YOUR-IP-ADDRESS>/32" # change to your IP or use dotenv of course
# enable apis
gcloud services enable container.googleapis.com # Kubernetes Engine API
# helper functions
set_location () {
@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 / gsutil-commands.md
Last active December 31, 2021 01:52
Google Cloud Storage Commands

Security

Assign IAM roles to buckets:

gsutil iam ch user:(user_email):(role1,role2) gs://(BUCKET)

Remove IAM role from bucket:

gsutil iam ch -d user:(user_email):(role1,role2) gs://(BUCKET)

Remove all roles from bucket for given user:

gsutil iam ch -d user:(user_email) gs://(BUCKET)

@mikesparr
mikesparr / app-engine-react-deployment.sh
Last active June 5, 2021 06:15
Deploying a React app to Google's App Engine standard
#!/usr/bin/env bash
# enable GCP apis
gcloud services enable appengine.googleapis.com
export APP_NAME="app-engine-react-demo"
export PROJECT_ID="mike-stage"
# bootstrap app using create-react-app
npx create-react-app $APP_NAME