Commit 8289976

bryfry <bryon.fryer@gmail.com>
2013-09-15 23:46:45
reorg, update, and simplify
1 parent 7ea224f
group_vars/hosting.yml
@@ -1,8 +0,0 @@
----
-# docker hosting specific variables
-docker_deps:
-  - python-software-properties
-
-linux_kernel: 3.8.0-19-generic
-vbox_additions_iso: http://dlc.sun.com.edgesuite.net/virtualbox/4.2.12/VBoxGuestAdditions_4.2.12.iso
-
group_vars/hosting_dev.yml
@@ -1,11 +0,0 @@
-# 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
-  - linux-headers-{{ linux_kernel }}
roles/hosting/handlers/docker-daemon.yml
@@ -1,4 +0,0 @@
----
-# use status code of docker version to check if docker daemon is up, if not start it
-- name: check if docker daemon is up
-  shell: docker version
roles/hosting/handlers/main.yml
@@ -1,2 +0,0 @@
----
-- include: docker-daemon.yml
roles/hosting/tasks/build-tasks.yml
@@ -1,43 +0,0 @@
----
-# 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
-
-# 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: Docker dev make, make install
-  tags: dev
-  shell: cd /tmp/docker && make && cp ./bin/docker /usr/local/bin/docker
-
-- name: Determine if docker is installed already
-  tags: dev
-  debug: msg="docker installed at:{{item}}"
-  with_lines:
-    - which docker
-
-
-      
roles/hosting/tasks/kernel-tasks.yml
@@ -1,16 +0,0 @@
----
-# Install the required kernel for docker
-
-- name: Install linux-image-{{ linux_kernel }} # defined in group_vars/hosting.yml
-  tags: dep,ppa,bin
-  apt: package=linux-image{{ linux_kernel }} update_cache=yes
-
-- name: Install wget
-  tags: vbox
-  apt: package=wget state=latest
-
-- name: wget iso
-  tags: vbox
-  action: wget -q {{ vbox_additions_iso }}
-
-
roles/hosting/tasks/main.yml
@@ -1,3 +0,0 @@
----
-- include: kernel-tasks.yml
-- include: build-tasks.yml
docker.yml
@@ -0,0 +1,44 @@
+---
+- hosts: hosting
+  vars:
+    docker_deps:
+      - python-software-properties
+      - python-apt
+      - python-pycurl
+      - wget
+    linux_kernel: 3.8.0-29-generic
+    vbox_additions_iso: http://dlc.sun.com.edgesuite.net/virtualbox/4.2.12/VBoxGuestAdditions_4.2.12.iso
+  tasks:
+    # install dependencies needed to 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
+
+    - name: Install linux-image-{{ linux_kernel }} # defined in group_vars/hosting.yml
+      apt: package=linux-image-{{ linux_kernel }} update_cache=yes
+      sudo: yes
+      tags: repo
+
+    - name: Pre-repo add dependencies
+      apt: pkg={{ item }} state=latest
+      with_items: docker_deps # defined in groupvars/hosting.yml
+      sudo: yes
+      tags: repo 
+
+    - name: wget VBox Additions iso for fixing after kernel update
+      action: wget -q {{ vbox_additions_iso }}
+      tags: vbox
+
+    - name: Add docker repository key
+      apt_key: url=https://get.docker.io/gpg state=present
+      sudo: yes
+      tags: repo
+     
+    - name: Add docker repository
+      apt_repository: repo='deb http://get.docker.io/ubuntu docker main' state=present
+      sudo: yes
+      tags: repo
+
+    - name: Install docker
+      apt: pkg=lxc-docker state=latest update_cache=yes
+      sudo: yes
+      tags: repo
hosting.yml
@@ -1,9 +0,0 @@
----
-# file: hosting.yml
-- hosts: hosting
-  vars_files:
-    - group_vars/hosting.yml
-    - group_vars/hosting_dev.yml
-  roles:
-    - hosting
-
inventory
@@ -1,29 +1,5 @@
 [local-hosting]
 127.0.0.1
 
-[local-dockers]
-
-[aws-hosting]
-
-[aws-dockers]
-
-# all hosting
 [hosting:children]
 local-hosting
-aws-hosting
-
-# all dockers
-[dockers:children]
-local-dockers
-aws-dockers
-
-# all local
-[local:children]
-local-hosting
-local-dockers
-
-# all aws
-[aws:children]
-aws-hosting
-aws-dockers
-
README.md
@@ -1,12 +1,14 @@
 #ansible-docker
 
-ansible playbook for provisioning docker lxc containers
+ansible playbook for setting up docker
 
-##hosting.yml
+##docker.yml
 setup a lxc host with the required dependencies
 
+example run:```ansible-playbook -i inventory docker.yml --tags repo```
+
 **tags**
 
-* **dev** - setup for development environment, compile docker, etc.
-* **ppa** - install docker from the ubuntu ppa
+* **repo** - setup for development environment, compile docker, etc.
 * **bin** - install docker from the docker-latest binary [not yet implemented]
+* **vbox** - if inside vbox, re-install VBox Guest Additions [not yet implemented]