From 14e54a03841a837231975247f70f063527a6f7b6 Mon Sep 17 00:00:00 2001 From: William Yeh Date: Tue, 8 Mar 2016 12:10:00 +0800 Subject: Add: Ansible 1.9 series. --- 1.9-ubuntu14.04-onbuild/Dockerfile | 49 ++++++++++++++++++++++++ 1.9-ubuntu14.04-onbuild/ansible-playbook-wrapper | 49 ++++++++++++++++++++++++ 2 files changed, 98 insertions(+) create mode 100644 1.9-ubuntu14.04-onbuild/Dockerfile create mode 100755 1.9-ubuntu14.04-onbuild/ansible-playbook-wrapper (limited to '1.9-ubuntu14.04-onbuild') diff --git a/1.9-ubuntu14.04-onbuild/Dockerfile b/1.9-ubuntu14.04-onbuild/Dockerfile new file mode 100644 index 0000000..8233df5 --- /dev/null +++ b/1.9-ubuntu14.04-onbuild/Dockerfile @@ -0,0 +1,49 @@ +# Dockerfile for building Ansible 1.9 image for Ubuntu 14.04 (trusty), with as few additional software as possible. +# +# @see https://launchpad.net/~ansible/+archive/ubuntu/ansible +# +# Version 1.0 +# + + +# pull base image +FROM ubuntu:14.04 + +MAINTAINER William Yeh + + +RUN echo "===> Adding Ansible's PPA..." && \ + echo "deb http://ppa.launchpad.net/ansible/ansible-1.9/ubuntu trusty main" | tee /etc/apt/sources.list.d/ansible.list && \ + echo "deb-src http://ppa.launchpad.net/ansible/ansible-1.9/ubuntu trusty main" | tee -a /etc/apt/sources.list.d/ansible.list && \ + apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 7BB9C367 && \ + DEBIAN_FRONTEND=noninteractive apt-get update && \ + \ + \ + echo "===> Installing Ansible..." && \ + apt-get install -y ansible && \ + \ + \ + echo "===> Removing Ansible PPA..." && \ + rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/ansible.list && \ + \ + \ + echo "===> Adding hosts for convenience..." && \ + echo 'localhost' > /etc/ansible/hosts + + +COPY ansible-playbook-wrapper /usr/local/bin/ + +ONBUILD RUN DEBIAN_FRONTEND=noninteractive apt-get update && \ + echo "===> Updating TLS certificates..." && \ + apt-get install -y openssl ca-certificates + +ONBUILD WORKDIR /tmp +ONBUILD COPY . /tmp +ONBUILD RUN \ + echo "===> Diagnosis: host information..." && \ + ansible -c local -m setup all + + + +# default command: display Ansible version +CMD [ "ansible-playbook", "--version" ] diff --git a/1.9-ubuntu14.04-onbuild/ansible-playbook-wrapper b/1.9-ubuntu14.04-onbuild/ansible-playbook-wrapper new file mode 100755 index 0000000..0ba45e6 --- /dev/null +++ b/1.9-ubuntu14.04-onbuild/ansible-playbook-wrapper @@ -0,0 +1,49 @@ +#!/bin/sh +# +# Simple wrapper for executing ansible-galaxy and ansible-playbook +# with local connection. +# +# USAGE: +# ansible-playbook-wrapper [other ansible-playbook arguments] +# +# ENVIRONMENT VARIABLES: +# +# - REQUIREMENTS: requirements filename; default = "requirements.yml" +# - PLAYBOOK: playbook filename; default = "playbook.yml" +# - INVENTORY: inventory filename; default = "/etc/ansible/hosts" +# + + +# +# install Galaxy roles, if any +# + +if [ -z "$REQUIREMENTS" ]; then + REQUIREMENTS=requirements.yml +fi + +if [ -f "$REQUIREMENTS" ]; then + ansible-galaxy install -r $REQUIREMENTS +fi + + +# +# execute playbook +# + +if [ -z "$PLAYBOOK" ]; then + PLAYBOOK=playbook.yml +fi + + +if [ -z "$INVENTORY" ]; then + exec ansible-playbook \ + $PLAYBOOK \ + --connection=local \ + "$@" +else + exec ansible-playbook \ + -i $INVENTORY $PLAYBOOK \ + --connection=local \ + "$@" +fi -- cgit v1.2.3