-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
14 changed files
with
217 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,3 +15,6 @@ spec/reports | |
test/tmp | ||
test/version_tmp | ||
tmp | ||
|
||
# Vagrant | ||
.vagrant |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
Vagrant.configure("2") do |config| | ||
|
||
config.vm.box = "ubuntu/trusty64" | ||
config.vm.hostname = "sluice" | ||
config.ssh.forward_agent = true | ||
|
||
config.vm.provider :virtualbox do |vb| | ||
vb.name = Dir.pwd().split("/")[-1] + "-" + Time.now.to_f.to_i.to_s | ||
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] | ||
vb.customize [ "guestproperty", "set", :id, "--timesync-threshold", 10000 ] | ||
vb.memory = 2048 | ||
end | ||
|
||
config.vm.provision :shell do |sh| | ||
sh.path = "vagrant/up.bash" | ||
end | ||
|
||
# Requires Vagrant 1.7.0+ | ||
config.push.define "gem", strategy: "local-exec" do |push| | ||
push.script = "vagrant/push.bash" | ||
end | ||
|
||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,5 +15,5 @@ | |
|
||
module Sluice | ||
NAME = "sluice" | ||
VERSION = "0.2.1" | ||
VERSION = "0.2.2" | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
oss-playbooks | ||
ansible | ||
.peru |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
[vagrant] | ||
127.0.0.1:2222 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
imports: | ||
ansible: ansible | ||
ansible_playbooks: oss-playbooks | ||
|
||
curl module ansible: | ||
# Equivalent of git cloning tags/v1.6.6 but much, much faster | ||
url: https://codeload.github.com/ansible/ansible/zip/69d85c22c7475ccf8169b6ec9dee3ee28c92a314 | ||
unpack: zip | ||
export: ansible-69d85c22c7475ccf8169b6ec9dee3ee28c92a314 | ||
|
||
git module ansible_playbooks: | ||
url: https://github.com/snowplow/ansible-playbooks.git | ||
# Comment out to fetch a specific rev instead of master: | ||
# rev: xxx |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
#!/bin/bash | ||
set -e | ||
|
||
# Constants | ||
rubygems_user=snowplow | ||
rubygems_gem=sluice | ||
|
||
# Check if our Vagrant box is running. Expects `vagrant status` to look like: | ||
# | ||
# > Current machine states: | ||
# > | ||
# > default poweroff (virtualbox) | ||
# > | ||
# > The VM is powered off. To restart the VM, simply run `vagrant up` | ||
function running { | ||
set +e | ||
vagrant status | sed -n 3p | grep -q "^default\s*running (virtualbox)$" | ||
local is_running=$? | ||
set -e | ||
echo $is_running | ||
} | ||
|
||
# Reads the version out of the version.rb | ||
function parse_version { | ||
cat "lib/${rubygems_gem}/version.rb" | awk '/ VERSION =/ {v=$3; gsub(/\047/, "", v)} END {print v}' | ||
} | ||
|
||
# Installs RubyGems.org credentials in our guest | ||
# | ||
# Parameters: | ||
# 1. rubygems_password | ||
function install_creds { | ||
vagrant ssh -c "curl -u ${rubygems_user}:${1} https://rubygems.org/api/v1/api_key.yaml > ~/.gem/credentials" | ||
vagrant ssh -c "chmod 0600 ~/.gem/credentials" | ||
} | ||
|
||
# Builds our gem | ||
function build_gem { | ||
vagrant ssh -c "cd /vagrant && gem build ${rubygems_gem}.gemspec" | ||
} | ||
|
||
# Installs our gem | ||
# | ||
# Parameters: | ||
# 1. rubygems_version | ||
function install_gem { | ||
vagrant ssh -c "cd /vagrant && sudo gem install ./${rubygems_gem}-${1}.gem" | ||
} | ||
|
||
# Pushes our gem to RubyGems.org | ||
# | ||
# Parameters: | ||
# 1. rubygems_version | ||
function push_gem { | ||
vagrant ssh -c "cd /vagrant && gem push ./${rubygems_gem}-${1}.gem" | ||
} | ||
|
||
|
||
# Move to the parent directory of this script | ||
source="${BASH_SOURCE[0]}" | ||
while [ -h "${source}" ] ; do source="$(readlink "${source}")"; done | ||
dir="$( cd -P "$( dirname "${source}" )/.." && pwd )" | ||
cd ${dir} | ||
|
||
# Precondition for running | ||
if [ $(running) != "0" ]; then | ||
echo "Vagrant guest must be running to push" | ||
exit 1 | ||
fi | ||
|
||
# Can't pass args thru vagrant push so have to prompt | ||
read -e -p "Please enter password for RubyGems.org user ${rubygems_user}: " rubygems_password | ||
|
||
# Build, install & push | ||
build_gem | ||
rubygems_version=$(parse_version) | ||
install_gem ${rubygems_version} | ||
install_creds ${rubygems_password} | ||
push_gem ${rubygems_version} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
#!/bin/bash | ||
set -e | ||
|
||
vagrant_dir=/vagrant/vagrant | ||
bashrc=/home/vagrant/.bashrc | ||
|
||
echo "========================================" | ||
echo "INSTALLING PERU AND ANSIBLE DEPENDENCIES" | ||
echo "----------------------------------------" | ||
apt-get update | ||
apt-get install -y language-pack-en git unzip libyaml-dev python3-pip python-yaml python-paramiko python-jinja2 | ||
|
||
echo "===============" | ||
echo "INSTALLING PERU" | ||
echo "---------------" | ||
sudo pip3 install peru | ||
|
||
echo "=======================================" | ||
echo "CLONING ANSIBLE AND PLAYBOOKS WITH PERU" | ||
echo "---------------------------------------" | ||
cd ${vagrant_dir} && peru sync -v | ||
echo "... done" | ||
|
||
env_setup=${vagrant_dir}/ansible/hacking/env-setup | ||
hosts=${vagrant_dir}/ansible.hosts | ||
|
||
echo "===================" | ||
echo "CONFIGURING ANSIBLE" | ||
echo "-------------------" | ||
touch ${bashrc} | ||
echo "source ${env_setup}" >> ${bashrc} | ||
echo "export ANSIBLE_HOSTS=${hosts}" >> ${bashrc} | ||
echo "... done" | ||
|
||
echo "==========================================" | ||
echo "RUNNING PLAYBOOKS WITH ANSIBLE*" | ||
echo "* no output while each playbook is running" | ||
echo "------------------------------------------" | ||
while read pb; do | ||
su - -c "source ${env_setup} && ${vagrant_dir}/ansible/bin/ansible-playbook ${vagrant_dir}/${pb} --connection=local --inventory-file=${hosts}" vagrant | ||
done <${vagrant_dir}/up.playbooks | ||
|
||
guidance=${vagrant_dir}/up.guidance | ||
|
||
if [ -f ${guidance} ]; then | ||
echo "===========" | ||
echo "PLEASE READ" | ||
echo "-----------" | ||
cat $guidance | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
To get started: | ||
vagrant ssh | ||
cd /vagrant | ||
bundle install | ||
rspec |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
oss-playbooks/ruby-rvm.yml |