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-YAML.yaml
Created April 27, 2020 06:41
Markdium-Kubernetes and Secrets Management in Cloud: Part 2
[...]
service:
name: secrets-init-webhook-svc
namespace: default
path: "/pods"
caBundle: ${CA_BUNDLE}
[...]
@alexei-led
alexei-led / Markdium-Shell.sh
Created April 27, 2020 06:41
Markdium-Kubernetes and Secrets Management in Cloud: Part 2
# create a cluster role
kubectl create -f deployment/clusterrole.yaml
# define a cluster role binding
kubectl create -f deployment/clusterrolebinding.yaml
@alexei-led
alexei-led / Markdium-Shell.sh
Created April 27, 2020 06:41
Markdium-Kubernetes and Secrets Management in Cloud: Part 2
# environment variable passed to `secrets-init`
API_KEY=arn:aws:ssm:$AWS_REGION:$AWS_ACCOUNT_ID:parameter/api/key
# environment variable passed to child process, resolved by `secrets-init`
API_KEY=key-123456789
@alexei-led
alexei-led / Markdium-Shell.sh
Created April 27, 2020 06:41
Markdium-Kubernetes and Secrets Management in Cloud: Part 2
# environment variable passed to `secrets-init`
DB_PASSWORD=gcp:secretmanager:projects/$PROJECT_ID/secrets/db/password
# OR versioned secret (with version or 'latest')
DB_PASSWORD=gcp:secretmanager:projects/$PROJECT_ID/secrets/db/password/versions/2
# environment variable passed to child process, resolved by `secrets-init`
DB_PASSWORD=very-secret-password
@alexei-led
alexei-led / Markdium-YAML.yaml
Created April 27, 2020 06:41
Markdium-Kubernetes and Secrets Management in Cloud: Part 2
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ssm:GetParameter",
"Resource": "arn:aws:ssm:us-west-2:123456789012:parameter/prod-*"
}
]
}
@alexei-led
alexei-led / Markdium-YAML.yaml
Created April 27, 2020 06:41
Markdium-Kubernetes and Secrets Management in Cloud: Part 2
[...]
args:
[...]
- --tls-cert-file=/etc/webhook/certs/cert.pem
- --tls-private-key-file=/etc/webhook/certs/key.pem
volumeMounts:
- name: webhook-certs
mountPath: /etc/webhook/certs
readOnly: true
[...]
@alexei-led
alexei-led / Dockerfile
Created March 16, 2016 08:39
App & Test container Dockerfile
FROM "<bases image>":"<version>"
WORKDIR "<path>"
# install packages required to run app and tests
RUN apt-get update && apt-get install -y \
"<app runtime> and <dependencies>" \ # add app runtime and required packages
"<test tools> and <dependencies>" \ # add testing tools and required packages
&& rm -rf /var/lib/apt/lists/*
@alexei-led
alexei-led / Markdium-Shell.sh
Created February 17, 2020 09:02
Markdium-Securely Access AWS from GKE
kubectl create -f deployment/mutatingwebhook-bundle.yaml
@alexei-led
alexei-led / Markdium-Shell.sh
Created February 17, 2020 09:02
Markdium-Securely Access AWS from GKE
kubectl create serviceaccount --namespace ${K8S_NAMESPACE} ${KSA_NAME}
@alexei-led
alexei-led / Markdium-Shell.sh
Created February 17, 2020 09:02
Markdium-Securely Access AWS from GKE
kubectl annotate serviceaccount --namespace ${K8S_NAMESPACE} ${KSA_NAME}
amazonaws.com/role-arn=${AWS_ROLE_ARN}