Skip to content

Instantly share code, notes, and snippets.

View alexei-led's full-sized avatar
🤖
Don't panic!

Alexei Ledenev alexei-led

🤖
Don't panic!
View GitHub Profile
@alexei-led
alexei-led / Markdium-Shell.sh
Created February 17, 2020 09:02
Markdium-Securely Access AWS from GKE
aws iam create-role --role-name ${AWS_ROLE_NAME} --assume-role-policy-document file://gcp-trust-policy.json
@alexei-led
alexei-led / Markdium-Shell.sh
Created February 17, 2020 09:02
Markdium-Securely Access AWS from GKE
# create GCP Service Account
gcloud iam service-accounts create ${GSA_NAME}
# get GCP SA UID to be used for AWS Role with Google OIDC Web Identity
GSA_ID=$(gcloud iam service-accounts describe --format json ${GSA_NAME}@${PROJECT_ID}.iam.gserviceaccount.com | jq -r '.uniqueId')
@alexei-led
alexei-led / Markdium-Shell.sh
Created February 17, 2020 09:02
Markdium-Securely Access AWS from GKE
kubectl create namespace ${K8S_NAMESPACE}
@alexei-led
alexei-led / Markdium-Shell.sh
Created February 17, 2020 09:02
Markdium-Securely Access AWS from GKE
cat > gcp-trust-policy.json << EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Federated": "accounts.google.com"
},
"Action": "sts:AssumeRoleWithWebIdentity",
@alexei-led
alexei-led / Markdium-text.txt
Created February 17, 2020 09:02
Markdium-Securely Access AWS from GKE
./deployment/webhook-create-signed-cert.sh
creating certs in tmpdir /var/folders/vl/gxsw2kf13jsf7s8xrqzcybb00000gp/T/tmp.xsatrckI71
Generating RSA private key, 2048 bit long modulus
.........................+++
....................+++
e is 65537 (0x10001)
certificatesigningrequest.certificates.k8s.io/gtoken-webhook-svc.default created
NAME AGE REQUESTOR CONDITION
gtoken-webhook-svc.default 1s alexei@doit-intl.com Pending
@alexei-led
alexei-led / Markdium-Shell.sh
Created February 17, 2020 09:02
Markdium-Securely Access AWS from GKE
gcloud beta container clusters create ${CLUSTER_NAME} --identity-namespace=${PROJECT_ID}.svc.id.goog
@alexei-led
alexei-led / Markdium-Shell.sh
Created February 17, 2020 09:02
Markdium-Securely Access AWS from GKE
# create a cluster role
kubectl create -f deployment/clusterrole.yaml
# define a cluster role binding
kubectl create 0f deployment/clusterrolebinding.yaml
@alexei-led
alexei-led / Markdium-Shell.sh
Created February 17, 2020 09:02
Markdium-Securely Access AWS from GKE
gcloud beta container clusters update ${CLUSTER_NAME} --identity-namespace=${PROJECT_ID}.svc.id.goog
@alexei-led
alexei-led / Markdium-YAML.yaml
Created February 17, 2020 09:02
Markdium-Securely Access AWS from GKE
[...]
service:
name: gtoken-webhook-svc
namespace: default
path: "/pods"
caBundle: ${CA_BUNDLE}
[...]
@alexei-led
alexei-led / Markdium-Shell.sh
Created February 17, 2020 09:02
Markdium-Securely Access AWS from GKE
kubectl create -f deployment/deployment.yaml
kubectl create -f deployment/service.yaml