2013-02-04 01:02:41 -05:00
|
|
|
class docker {
|
|
|
|
|
|
|
|
# update this with latest docker binary distro
|
2013-03-11 20:48:39 -04:00
|
|
|
$docker_url = "http://docker.io.s3.amazonaws.com/builds/$kernel/$hardwaremodel/docker-master.tgz"
|
2013-02-04 01:02:41 -05:00
|
|
|
# update this with latest go binary distry
|
|
|
|
$go_url = "http://go.googlecode.com/files/go1.0.3.linux-amd64.tar.gz"
|
|
|
|
|
|
|
|
Package { ensure => "installed" }
|
|
|
|
|
2013-03-12 15:05:04 -04:00
|
|
|
package { ["lxc", "debootstrap", "wget", "bsdtar", "git",
|
|
|
|
"linux-image-3.5.0-25-generic",
|
|
|
|
"linux-image-extra-3.5.0-25-generic",
|
|
|
|
"virtualbox-guest-utils",
|
|
|
|
"linux-headers-3.5.0-25-generic"]: }
|
2013-03-11 20:48:39 -04:00
|
|
|
|
|
|
|
notify { "docker_url = $docker_url": withpath => true }
|
2013-02-04 01:02:41 -05:00
|
|
|
|
|
|
|
exec { "debootstrap" :
|
|
|
|
require => Package["debootstrap"],
|
2013-02-15 15:19:50 -05:00
|
|
|
command => "/usr/sbin/debootstrap --arch=amd64 quantal /var/lib/docker/images/docker-ut",
|
|
|
|
creates => "/var/lib/docker/images/docker-ut",
|
2013-02-04 01:02:41 -05:00
|
|
|
timeout => 0
|
|
|
|
}
|
|
|
|
|
|
|
|
exec { "fetch-go":
|
|
|
|
require => Package["wget"],
|
|
|
|
command => "/usr/bin/wget -O - $go_url | /bin/tar xz -C /usr/local",
|
|
|
|
creates => "/usr/local/go/bin/go",
|
|
|
|
}
|
|
|
|
|
|
|
|
exec { "fetch-docker" :
|
|
|
|
require => Package["wget"],
|
2013-02-04 19:30:20 -05:00
|
|
|
command => "/usr/bin/wget -O - $docker_url | /bin/tar xz -C /home/vagrant",
|
2013-03-11 20:48:39 -04:00
|
|
|
creates => "/home/vagrant/docker-master"
|
2013-02-04 01:02:41 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
file { "/etc/init/dockerd.conf":
|
|
|
|
mode => 600,
|
|
|
|
owner => "root",
|
|
|
|
group => "root",
|
|
|
|
content => template("docker/dockerd.conf"),
|
|
|
|
require => [Exec["fetch-docker"], Exec["debootstrap"]]
|
|
|
|
}
|
|
|
|
|
|
|
|
exec { "copy-docker-bin" :
|
|
|
|
require => Exec["fetch-docker"],
|
2013-03-11 20:48:39 -04:00
|
|
|
command => "/bin/cp /home/vagrant/docker-master/docker /usr/local/bin",
|
2013-02-04 01:02:41 -05:00
|
|
|
creates => "/usr/local/bin/docker"
|
|
|
|
}
|
|
|
|
|
2013-03-11 20:48:39 -04:00
|
|
|
exec { "copy-dockerd-bin" :
|
|
|
|
require => Exec["fetch-docker"],
|
|
|
|
command => "/bin/cp /home/vagrant/docker-master/dockerd /usr/local/bin",
|
|
|
|
creates => "/usr/local/bin/dockerd"
|
|
|
|
}
|
|
|
|
|
2013-03-12 15:05:04 -04:00
|
|
|
exec { "vbox-add" :
|
|
|
|
require => Package["linux-headers-3.5.0-25-generic"],
|
|
|
|
command => "/etc/init.d/vboxadd setup",
|
|
|
|
}
|
|
|
|
|
2013-02-04 01:02:41 -05:00
|
|
|
service { "dockerd" :
|
|
|
|
ensure => "running",
|
|
|
|
start => "/sbin/initctl start dockerd",
|
|
|
|
stop => "/sbin/initctl stop dockerd",
|
|
|
|
require => File["/etc/init/dockerd.conf"],
|
|
|
|
name => "dockerd",
|
|
|
|
provider => "base"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|