title: “Sample Vault injection”
date: 2020-02-17T09:23:42
slug: sample-vault-injection
helm delete vault-helm
kubectl delete pvc data-vault-helm-0
kubectl delete -f pv.yaml
kubectl delete -f app.yaml
kubectl delete -f app\_secrets.yaml
rm -rf /STORAGE/vault/\*
kubectl config set-context --current --namespace=default
kubectl create -f pv.yaml
helm install vault-helm vault-helm
kubectl get pods
kubectl logs vault-helm-0
kubectl exec -it vault-helm-0 sh
vault operator init
vault operator unseal
vault operator unseal
vault operator unseal
vault login
vault secrets enable -path="secret" kv
cat <<EOF > /home/vault/app-policy.hcl
path "secret\*" {
capabilities = ["read"]
}
EOF
vault policy write app /home/vault/app-policy.hcl
vault auth enable kubernetes
vault write auth/kubernetes/config \
token\_reviewer\_jwt="$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" \
kubernetes\_host=https://${KUBERNETES\_PORT\_443\_TCP\_ADDR}:443 \
kubernetes\_ca\_cert=@/var/run/secrets/kubernetes.io/serviceaccount/ca.crt
vault write auth/kubernetes/role/myapp \
bound\_service\_account\_names=app \
bound\_service\_account\_namespaces=default \
policies=app \
ttl=1h
vault kv put secret/helloworld username=foobaruser password=foobarbazpass
kubectl create -f app.yaml
kubectl get pods
kubectl delete -f app.yaml
kubectl create -f app\_secrets.yaml
kubectl get pods
cat /vault/secrets/helloworld
