aboutsummaryrefslogtreecommitdiffhomepage
path: root/debian8-onbuild
diff options
context:
space:
mode:
Diffstat (limited to 'debian8-onbuild')
-rw-r--r--debian8-onbuild/Dockerfile47
-rwxr-xr-xdebian8-onbuild/ansible-playbook-wrapper30
2 files changed, 77 insertions, 0 deletions
diff --git a/debian8-onbuild/Dockerfile b/debian8-onbuild/Dockerfile
new file mode 100644
index 0000000..04eadb5
--- /dev/null
+++ b/debian8-onbuild/Dockerfile
@@ -0,0 +1,47 @@
1# Dockerfile for building Ansible image for Debian 8 (jessie), with as few additional software as possible.
2#
3# @see https://launchpad.net/~ansible/+archive/ubuntu/ansible
4#
5# Version 1.0
6#
7
8
9# pull base image
10FROM debian:jessie
11
12MAINTAINER William Yeh <william.pjyeh@gmail.com>
13
14
15RUN echo "===> Installing python, sudo, and supporting tools..." && \
16 apt-get update && \
17 DEBIAN_FRONTEND=noninteractive \
18 apt-get install -y \
19 python python-yaml sudo \
20 curl gcc python-pip python-dev && \
21 \
22 \
23 echo "===> Installing Ansible..." && \
24 pip install ansible && \
25 \
26 \
27 echo "===> Removing unused APT resources..." && \
28 apt-get -f -y --auto-remove remove curl gcc python-pip python-dev && \
29 apt-get clean && \
30 rm -rf /var/lib/apt/lists/* /tmp/* && \
31 \
32 \
33 echo "===> Adding hosts for convenience..." && \
34 mkdir -p /etc/ansible && \
35 echo '[local]\nlocalhost\n' > /etc/ansible/hosts
36
37
38COPY ansible-playbook-wrapper /usr/local/bin/
39
40ONBUILD RUN DEBIAN_FRONTEND=noninteractive apt-get update
41ONBUILD WORKDIR /tmp
42ONBUILD COPY . /tmp
43
44
45
46# default command: display Ansible version
47CMD [ "ansible-playbook", "--version" ]
diff --git a/debian8-onbuild/ansible-playbook-wrapper b/debian8-onbuild/ansible-playbook-wrapper
new file mode 100755
index 0000000..bf137c8
--- /dev/null
+++ b/debian8-onbuild/ansible-playbook-wrapper
@@ -0,0 +1,30 @@
1#!/bin/sh
2#
3# Simple wrapper for executing ansible-playbook with local connection.
4#
5# USAGE:
6# ansible-playbook-wrapper [other ansible-playbook arguments]
7#
8# ENVIRONMENT VARIABLES:
9#
10# - PLAYBOOK: playbook filename; default = "playbook.yml"
11# - INVENTORY: inventory filename; default = "/etc/ansible/hosts"
12#
13
14
15if [ -z "$PLAYBOOK" ]; then
16 PLAYBOOK=playbook.yml
17fi
18
19
20if [ -z "$INVENTORY" ]; then
21 exec ansible-playbook \
22 $PLAYBOOK \
23 --connection=local \
24 "$@"
25else
26 exec ansible-playbook \
27 -i $INVENTORY $PLAYBOOK \
28 --connection=local \
29 "$@"
30fi