Skip to content

Instantly share code, notes, and snippets.

@avoidik
avoidik / get_vault_secret.py
Created August 21, 2018 18:45 — forked from edjackson-wf/get_vault_secret.py
IAM auth to Hashicorp Vault server from an ECS container
#!/usr/bin/env python3
import base64
import json
import requests
from aws_requests_auth.boto_utils import BotoAWSRequestsAuth
"""
This code will connect from an ECS container to a remote Hashicorp Vault server
and authenticate using the 'iam' auth_type for the AWS auth backend.
@avoidik
avoidik / README.md
Created August 21, 2018 18:41 — forked from joelthompson/README.md
Vault Auth
@avoidik
avoidik / vault-token-role-via-api.sh
Created August 21, 2018 11:05 — forked from greenbrian/vault-token-role-via-api.sh
HashiCorp Vault Token Role overview
# start vault in dev mode
VAULT_UI=true vault server -dev -dev-root-token-id="password"
# write some secrets for our example usage
curl --request POST \
--silent \
--header "X-Vault-Token: password" \
--header "Content-Type: application/json" \
--data '{ "options": { "cas": 0 }, "data": { "username": "administrator", "password": "hunter2" } }' \
http://127.0.0.1:8200/v1/secret/data/dev | jq '.'
#!/usr/bin/env sh
docker-machine rm -f rancher host1
docker-machine create rancher --driver virtualbox --virtualbox-cpu-count "-1" --virtualbox-disk-size "8000" --virtualbox-memory "512" --virtualbox-boot2docker-url=https://github.com/boot2docker/boot2docker/releases/download/v1.11.2/boot2docker.iso
docker-machine scp scripts/rancher-net.sh rancher:.
docker-machine ssh rancher sh rancher-net.sh
docker-machine regenerate-certs rancher -f
eval $(docker-machine env rancher)
docker-compose up -d
eval $(docker-machine env -u)
docker-machine create host1 --driver virtualbox --virtualbox-cpu-count "-1" --virtualbox-disk-size "54000" --virtualbox-memory "2048" --virtualbox-boot2docker-url=https://github.com/boot2docker/boot2docker/releases/download/v1.11.2/boot2docker.iso
@avoidik
avoidik / configmap.yml
Created June 14, 2018 06:21 — forked from j18e/configmap.yml
Concourse on AWS Kubernetes Deployment with HTTPS endpoint
---
apiVersion: v1
kind: ConfigMap
metadata:
name: concourse-keys
data:
authorized_worker_keys: |+
ssh-rsa {{public_key_text}} worker-key
session_signing_key: |+
-----BEGIN RSA PRIVATE KEY-----
@avoidik
avoidik / cleanup.sh
Created June 8, 2018 10:21 — forked from flosell/cleanup.sh
This gist reproduces hashicorp/vault#3368
#!/usr/bin/env bash
function echob() {
echo -e "\033[1m$1\033[0m"
}
function delete_user() {
local username="$1"
echo "deleting ${username}"
aws iam delete-access-key --user-name ${username} --access-key-id $(jq -r .AccessKey.AccessKeyId ${username}-credentials.json)
aws iam delete-user --user-name ${username}
@avoidik
avoidik / pki-setup.sh
Created May 18, 2018 10:24 — forked from chrishoffman/pki-setup.sh
Vault Multi-Level CA Setup
vault mount pki
vault mount -path=pki1 pki
vault mount -path=pki2 pki
vault mount -path=pki3 pki
vault mount-tune -max-lease-ttl=87600h pki
vault mount-tune -max-lease-ttl=87600h pki1
vault mount-tune -max-lease-ttl=87600h pki2
vault mount-tune -max-lease-ttl=87600h pki3
vault write pki/root/generate/internal common_name="Vault Testing Root Authority" ttl=87600h
#!/usr/bin/env bash
set -eu
# Proof-of-concept script to demonstrate using an AppRole
# generated token for the kubernetes-vault controller.
# https://github.com/Boostport/kubernetes-vault
# Expects vault local development server to be running.
# Launch with:
# vault server -dev
@avoidik
avoidik / example-app.yaml
Created May 14, 2018 08:24 — forked from tylerjl/example-app.yaml
Example kubernetes-vault with vaultenv config
apiVersion: v1
kind: ConfigMap
metadata:
name: logstash-secrets
data:
logstash.secrets: |
ELASTICSEARCH_USERNAME=elasticsearch/production#username
ELASTICSEARCH_PASSWORD=elasticsearch/production#password
---
apiVersion: v1
#!/bin/bash
#
# vault-ec2-auth.sh
# Authenticates an EC2 instance to Hashicorp Vault
#
# configuration stored in environment variables in /etc/vault/client.conf
# expected configuration (defaults are selected below if none is specified):
# VAULT_ADDR = url of vault server
# VAULT_ROLE = role name to authenticate as