# How to Test Manually - `$ minikube start` - In the Vault folder, `$ make dev XC_ARCH=amd64 XC_OS=linux XC_OSARCH=linux/amd64` - Create a file called `vault-test.yaml` with the following contents: ``` apiVersion: v1 kind: Pod metadata: name: vault spec: containers: - name: nginx image: nginx command: [ "sh", "-c"] args: - while true; do echo -en '\n'; printenv VAULT_K8S_POD_NAME VAULT_K8S_NAMESPACE; sleep 10; done; env: - name: VAULT_K8S_POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: VAULT_K8S_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace restartPolicy: Never ``` - Create the pod: `$ kubectl apply -f vault-test.yaml` - View the full initial state of the pod: `$ kubectl get pod vault -o=yaml > initialstate.txt` - Drop the Vault binary into the pod: `$ kubectl cp bin/vault /vault:/` - Drop to the shell within the pod: `$ kubectl exec -it vault -- /bin/bash` - Install a text editor: `$ apt-get update`, `$ apt-get install nano` - Write a test Vault config to `vault.config` like: ``` storage "inmem" {} service_registration "kubernetes" {} disable_mlock = true ui = true api_addr = "http://127.0.0.1:8200" log_level = "debug" ``` - Run Vault: `$ ./vault server -config=vault.config -dev -dev-root-token-id=root` - If 403's are received, you may need to grant RBAC, example here: https://github.com/fabric8io/fabric8/issues/6840#issuecomment-307560275 - In a separate window outside the pod, view the resulting state of the pod: `$ kubectl get pod vault -o=yaml > currentstate.txt` - View the differences: `$ diff initialstate.txt currentstate.txt`