Skip to content

Instantly share code, notes, and snippets.

@hartfordfive
Last active August 29, 2015 14:13
Show Gist options
  • Save hartfordfive/44009b0d7a36de84470e to your computer and use it in GitHub Desktop.
Save hartfordfive/44009b0d7a36de84470e to your computer and use it in GitHub Desktop.
Create un-encrypted data bag file to be used with chef certificate_manage cookbook
if [ "$1" == "" ] || [ "$2" == "" ] || [ "$3" == "" ]; then
echo ""
echo "Usage: ./create_cert_databag.sh [DATABAG_NAME] [SSL_CERT] [SSL_KEY [SSL_CA_CHAIN]]"
echo ""
exit 1
fi
DATABAG_NAME=$1
SSL_CERT=$2
SSL_KEY=$3
if [ "$4" != "" ]; then
SSL_CA_CHAIN=$4
fi
CERTS_DIR=/Users/alain.lefebvre/Documents/code/github/_ssl_tools
CERT=`/usr/bin/env ruby -e 'p ARGF.read' $CERTS_DIR/$SSL_CERT`
KEY=`/usr/bin/env ruby -e 'p ARGF.read' $CERTS_DIR/$SSL_KEY`
if [ "$4" != "" ]; then
CHAIN=`/usr/bin/env ruby -e 'p ARGF.read' $CERTS_DIR/$SSL_CA_CHAIN`
cat <<EOF > $DATABAG_NAME.json
{
"id": "$DATABAG_NAME",
"cert": $CERT,
"key": $KEY,
"chain": $CHAIN
}
EOF
else
cat <<EOF > $DATABAG_NAME.json
{
"id": "$DATABAG_NAME",
"cert": $CERT,
"key": $KEY
}
EOF
fi
echo ""
echo "=================== NOTICE ===================="
echo " Databag $DATABAG_NAME.json created!"
echo " **** Don't forget to encrypt the databag when uploading it! ******"
echo ""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment