Requires
- aws-cli - https://aws.amazon.com/cli/
- jq - https://stedolan.github.io/jq/
Configure path to your ECS SSH key file ~/.bashrc
echo 'export ECS_PEM_FILE=$HOME/docker.pem' >> ~/.bashrc
Requires
Configure path to your ECS SSH key file ~/.bashrc
echo 'export ECS_PEM_FILE=$HOME/docker.pem' >> ~/.bashrc
Install latest Ansible via pip + dependencies via a shell script
This file is used to install ansible in test kitchen when you set in the kitchen.yaml file
| #!/usr/bin/env bash | |
| ENV_PATH="$(dirname "$(dirname "$(which pip)")")" | |
| SYSTEM_VIRTUALENV="$(which -a virtualenv|tail -1)" | |
| BAD_ENV_PATHS="/usr/local" | |
| echo "Ensure the root of the broken virtualenv:" | |
| echo " $ENV_PATH" |
| function aws_config | |
| if not fgrep -q "[$argv]" ~/.aws/credentials | |
| echo "Please specify a valid profile." | |
| else | |
| set -e AWS_ACCESS_KEY | |
| set -e AWS_SECRET_KEY | |
| set -g -x ATLAS_TOKEN (awk "/\[$argv\]/,/^\$/ { if (\$1 == \"atlas_token\") { print \$3 }}" ~/.aws/credentials) | |
| set account (awk "/\[$argv\]/,/^\$/ { if (\$1 == \"account_id\") { print \$3 }}" ~/.aws/credentials) | |
| set username (awk "/\[$argv\]/,/^\$/ { if (\$1 == \"username\") { print \$3 }}" ~/.aws/credentials) | |
| set mfarn "arn:aws:iam::$account:mfa/$username" |
| #!/bin/bash | |
| # Interpret whether the input needs to go to ansible, or ansible-playbook and run appropriately | |
| # First update the git repos for each project | |
| /usr/bin/update-git-repos | |
| export ANSIBLE_FORCE_COLOR=1 | |
| export ANSIBLE_RETRY_FILES_ENABLED=False |
I've been using a lot of Ansible lately and while almost everything has been great, finding a clean way to implement ansible-vault wasn't immediately apparent.
What I decided on was the following: put your secret information into a vars file, reference that vars file from your task, and encrypt the whole vars file using ansible-vault encrypt.
Let's use an example: You're writing an Ansible role and want to encrypt the spoiler for the movie Aliens.
| #!/bin/sh | |
| # check for where the latest version of IDEA is installed | |
| IDEA=`ls -1d /Applications/IntelliJ\ * | tail -n1` | |
| wd=`pwd` | |
| # were we given a directory? | |
| if [ -d "$1" ]; then | |
| # echo "checking for things in the working dir given" | |
| wd=`ls -1d "$1" | head -n1` |
| # Thanks to http://dev.enekoalonso.com/2011/08/09/uninstalling-brew-so-i-can-reinstall/ | |
| cd `brew --prefix` | |
| rm -rf Cellar | |
| brew prune | |
| rm -rf Library .git .gitignore bin/brew README.md share/man/man1/brew | |
| rm -rf ~/Library/Caches/Homebrew | |
| ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)" |
I have managed to install this… and make it work. I implemented it for Facebook and Google, but you can extend it. My solution it is mostly as described in #116, with a bit of more code presented. The key aspects that lack in the #116 presentation (IMO) are:
oauth_user_provider in the security.yml with your custom created serviceHere are the steps:
routing.yml I have added all the routes for both bundles.config.yml mostly as it is presented in the HWIOAuthBundle.security.yml mostly as it is presented in the HWIOAuthBundle (though my routes are using /login pattern, not /connect). Also, the oauth_user_provider is set for my custom service.Locate the section for your github remote in the .git/config file. It looks like this:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = [email protected]:joyent/node.git
Now add the line fetch = +refs/pull/*/head:refs/remotes/origin/pr/* to this section. Obviously, change the github url to match your project's URL. It ends up looking like this: