Fix issue where Vagrant AWS deploys outside of my dev account would fail

This commit is contained in:
Charles Hooper 2013-03-26 21:21:54 +00:00
parent 5cebc226cc
commit afdf29e57f
2 changed files with 31 additions and 15 deletions

2
Vagrantfile vendored
View File

@ -119,7 +119,7 @@ end
aws.keypair_name = ENV["AWS_KEYPAIR_NAME"]
aws.ssh_private_key_path = ENV["AWS_SSH_PRIVKEY"]
aws.region = "us-east-1"
aws.ami = "ami-4a7de623"
aws.ami = "ami-4e75ee27"
aws.ssh_username = "ubuntu"
aws.instance_type = "t1.micro"
end

View File

@ -1,12 +1,26 @@
class virtualbox {
Package { ensure => "installed" }
user { "vagrant":
name => "vagrant",
ensure => present,
comment => "Vagrant User",
shell => "/bin/bash",
home => "/home/vagrant",
}
file { "/home/vagrant":
mode => 644,
require => User["vagrant"],
}
# remove some files from the base vagrant image because they're old
file { "/home/vagrant/docker-master":
ensure => absent,
recurse => true,
force => true,
purge => true,
require => File["/home/vagrant"],
}
file { "/usr/local/bin/dockerd":
ensure => absent,
@ -23,10 +37,21 @@ class virtualbox {
}
class ec2 {
user { "vagrant":
name => "ubuntu",
ensure => present,
comment => "Vagrant User",
shell => "/bin/bash",
home => "/home/ubuntu",
}
file { "/home/vagrant":
ensure => link,
target => "/home/ubuntu",
require => User["vagrant"],
}
}
class docker {
# update this with latest docker binary distro
$docker_url = "http://get.docker.io/builds/$kernel/$hardwaremodel/docker-master.tgz"
# update this with latest go binary distry
@ -44,19 +69,14 @@ class docker {
$ec2_version = file("/etc/ec2_version", "/dev/null")
if ($ec2_version) {
$vagrant_user = "ubuntu"
include ec2
} else {
$vagrant_user = "vagrant"
# virtualbox is the vagrant default, so it should be safe to assume
include virtualbox
}
user { "vagrant":
ensure => present,
comment => "Vagrant User",
shell => "/bin/bash",
home => "/home/vagrant",
}
file { "/usr/local/bin":
ensure => directory,
owner => root,
@ -83,14 +103,10 @@ class docker {
require => Exec["copy-docker-bin"],
}
file { "/home/vagrant":
mode => 644,
require => User["vagrant"],
}
file { "/home/vagrant/.profile":
mode => 644,
owner => "vagrant",
owner => $vagrant_user,
group => "ubuntu",
content => template("docker/profile"),
require => File["/home/vagrant"],