Skip to content

Instantly share code, notes, and snippets.

View full-sized avatar
🏠
Working from home

Joaquin Menchaca darkn3rd

🏠
Working from home
View GitHub Profile
@darkn3rd
darkn3rd / get_eksctl_ebs_policy.sh
Created May 6, 2023 18:38
Get Inline Policy Attached to Node IAM Role
View get_eksctl_ebs_policy.sh
EKS_CLUSTER_NAME=${EKS_CLUSTER_NAME:-"my-cluster"}
NODE_GROUP=$(aws eks list-nodegroups \
--cluster-name $EKS_CLUSTER_NAME \
| jq -r '.nodegroups[0]'
)
ROLE_ARN=$(aws eks describe-nodegroup \
--cluster-name $EKS_CLUSTER_NAME \
--nodegroup-name $NODE_GROUP \
| jq -r '.nodegroup.nodeRole'
)
@darkn3rd
darkn3rd / provision.md
Last active April 28, 2023 15:44
Pedantic ADHD Guide to Kubernetes Provisioning
View provision.md

Pedantic ADHD Guide to Kubenretes Provisioning

This is my guide for how to get Kubernetes provisioned using Azure, Google Cloud, or AWS using CLI tools. This will require setting up an account with local CLI tools. The goal of this is to quickly set up a disposable test clusters in minimalist way.

The Tools

Some tools used here:

  • General
  • direnv (direnv) - used to setup environment variables automatically
@darkn3rd
darkn3rd / SQL Cheat Sheet.md
Created January 4, 2023 12:27 — forked from janikvonrotz/SQL Cheat Sheet.md
SQL Cheat Sheet#SQL#Markdown
View SQL Cheat Sheet.md

SQL languages

DDL is short name of Data Definition Language, which deals with database schemas and descriptions, of how the data should reside in the database.

DML is short name of Data Manipulation Language which deals with data manipulation, and includes most common SQL statements such SELECT, INSERT, UPDATE, DELETE etc, and it is used to store, modify, retrieve, delete and update data in database.

DCL is short name of Data Control Language which includes commands such as GRANT, and mostly concerned with rights, permissions and other controls of the database system.

Datatypes

Text types

@darkn3rd
darkn3rd / create_projects.sh
Created October 12, 2022 08:01
GKE/CCSM: projects
View create_projects.sh
# enable billing and APIs for GKE project if not done already
gcloud projects create $GKE_PROJECT_ID
gcloud config set project $GKE_PROJECT_ID
gcloud beta billing projects link $GKE_PROJECT_ID \
--billing-account $ClOUD_BILLING_ACCOUNT
gcloud services enable "container.googleapis.com"
@darkn3rd
darkn3rd / env,sh
Created October 12, 2022 08:00
GKE/CCSM: env.sh
View env,sh
# gke
export GKE_PROJECT_ID="my-gke-project" # CHANGE ME
export GKE_CLUSTER_NAME="csm-demo"
export GKE_REGION="us-central1"
export GKE_SA_NAME="gke-worker-nodes-sa"
export GKE_SA_EMAIL="$GKE_SA_NAME@${GKE_PROJECT_ID}.iam.gserviceaccount.com"
export KUBECONFIG=~/.kube/$GKE_REGION-$GKE_CLUSTER_NAME.yaml
# other
export USE_GKE_GCLOUD_AUTH_PLUGIN=True
@darkn3rd
darkn3rd / query.dql
Created October 12, 2022 07:38
GKE/CCSM: Dgraph SW query
View query.dql
{
me(func:allofterms(name, "Star Wars")) @filter(ge(release_date, "1980")) {
name
release_date
revenue
running_time
director {
name
}
starring {
@darkn3rd
darkn3rd / delete_gcp.sh
Created October 12, 2022 07:26
GKE/CCSM: cleanup Google cloud resources
View delete_gcp.sh
source env.sh
gcloud container clusters delete $GKE_CLUSTER_NAME \
--project $GKE_PROJECT_ID --region $GKE_REGION
gcloud iam service-accounts delete $GKE_SA_EMAIL --project $GKE_PROJECT_ID
@darkn3rd
darkn3rd / delete_k8s.sh
Created October 12, 2022 07:23
GKE/CCSM: cleanup kubernetes resources
View delete_k8s.sh
source env.sh
# delete pydgraph-client
helmfile --file ./examples/dgraph/helmfile.yaml delete
kubectl delete namespace pydgraph-client
# delete dgraph
helmfile --file ./examples/dgraph/helmfile.yaml delete
kubectl delete pvc --selector app=dgraph --namespace "dgraph"
kubectl delete namespace dgraph
@darkn3rd
darkn3rd / publish_to_docker.sh
Last active October 13, 2022 07:25
GKE/CCSM: Publishing pydgrpah-client images to DockerHub
View publish_to_docker.sh
pushd ./examples/pydgraph-client
###################
# STEP 1: Environment variables
#######################################
source env.sh
export DOCKER_REGISTRY="<your-docker-hub-account-goes-here>"
###################
# STEP 2: Build local image
@darkn3rd
darkn3rd / publish_to_gcr.sh
Last active October 12, 2022 07:15
GKE/CCSM: Publishing pydgrpah-client images to GCR
View publish_to_gcr.sh
pushd ./examples/pydgraph-client
###################
# STEP 1: Environment variables
#######################################
source env.sh
export GCR_PROJECT_ID="my-gcr-project" # CHANGE ME
export DOCKER_REGISTRY="gcr.io/$GCR_PROJECT_ID"
export ClOUD_BILLING_ACCOUNT="<my-cloud-billing-account>" # CHANGEME