Commit 14a1373
Changed files (4)
group_vars/hosting.yml
@@ -1,3 +1,6 @@
---
# docker hosting specific variables
-docker_git_url: git://github.com/dotcloud/docker.git
+docker_deps:
+ - python-software-properties
+ - linux-image-3.8.0-19-generic
+ #- linux-image-generic-lts-raring
group_vars/hosting_dev.yml
@@ -0,0 +1,10 @@
+# vars specifically for building a development enviroment for docker
+docker_git_url: git://github.com/dotcloud/docker.git
+docker_dev_deps:
+ - lxc
+ - bsdtar
+ - golang
+ - curl
+ - git
+ - wget
+ - build-essential
roles/hosting/tasks/docker-bootstrap.yml
@@ -1,31 +1,44 @@
---
# install dependencies needed to build/run the docker lxc engine (http://www.docker.io/)
+# Basically a reworking of docker's Vagrentfile[1] into an ansible-playbook
+# [1] https://github.com/dotcloud/docker/blob/master/Vagrantfile
+
+
+### PPA install ###
+- name: Enable ppa adding via apt-add-repository is available
+ tags: ppa,dev
+ apt: pkg={{ item }} state=latest
+ with_items: {{ docker_deps }} # defined in groupvars/hosting.yml
+
+- name: Add docker ppa
+ tags: ppa
+ apt_repository: repo=ppa:dotcloud/lxc-docker
+
+- name: Install docker via ppa
+ tags: ppa
+ apt: pkg=lxc-docker state=latest update_cache=yes
+
+
+### Dev Install ###
+- name: Install docker development dependencies
+ tags: dev
+ apt: pkg={{ item }} state=latest update_cache=yes
+ with_items: docker_dev_deps # defined in groupvars/hosting_dev.yml
-- name: Install lxc
- apt: pkg=lxc state=latest
-
-- name: Install bsdtar
- apt: pkg=bsdtar state=latest
-
-- name: Install golang
- apt: pkg=golang state=latest
-
-- name: Install curl
- apt: pkg=curl state=latest
+# TODO: improve granularity of this checking, i.e. version number, cloning only if absent
+- name: Clone docker via git
+ tags: dev
+ git: repo={{docker_git_url}} dest=/tmp/docker/
-- name: Install git
- apt: pkg=git state=latest
+- name: Docker dev make, make install
+ tags: dev
+ shell: cd /tmp/docker && make && cp ./bin/docker /usr/local/bin/docker
-- name: Install wget
- apt: pkg=wget state=latest
+- name: Determine if docker is installed already
+ tags: dev
+ debug: msg="docker installed at:{{item}}"
+ with_lines:
+ - which docker
-- name: Update Kernel to 3.8
- apt: pkg=linux-image-generic-lts-raring
-# TODO: improve granularity of this checking, i.e. version number, cloning only if absent
-- name: Clone and compile docker
- git: repo={{docker_git_url}} dest=/tmp/docker/
-- shell: cd /tmp/docker && make && cp ./bin/docker /usr/local/bin/docker
-- debug: msg="docker installed at:{{item}}"
- with_lines:
- - which docker
+
hosting.yml
@@ -3,6 +3,7 @@
- hosts: hosting
vars_files:
- group_vars/hosting.yml
+ - group_vars/hosting_dev.yml
roles:
- hosting