Commit 91ff12f8 authored by David Wilson's avatar David Wilson

Import Docker build script for integration tests

parent b51e41ed
#!/usr/bin/env python
import commands
import os
import shlex
import subprocess
import tempfile
DOCKERFILE = r"""
FROM debian:stable
RUN apt-get update
RUN \
apt-get install -y python2.7 openssh-server sudo && \
apt-get clean
RUN \
mkdir /var/run/sshd && \
echo '%sudo-nopw ALL=(ALL:ALL) NOPASSWD:ALL' > /etc/sudoers.d/001-sudo-nopw && \
echo i-am-mitogen-test-docker-image > /etc/sentinel && \
groupadd sudo-nopw && \
useradd -m has-sudo -G sudo && \
useradd -m has-sudo-pubkey -G sudo && \
useradd -m has-sudo-nopw -G sudo-nopw && \
useradd -m webapp && \
( echo 'root:x' | chpasswd; ) && \
( echo 'has-sudo:y' | chpasswd; ) && \
( echo 'has-sudo-nopw:y' | chpasswd; ) && \
mkdir ~has-sudo-pubkey/.ssh
COPY data/docker/has-sudo-pubkey.key /home/has-sudo-pubkey/.ssh/authorized_keys
RUN \
chown -R has-sudo-pubkey ~has-sudo-pubkey && \
chmod -R go= ~has-sudo-pubkey
RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
ENV NOTVISIBLE "in users profile"
RUN echo "export VISIBLE=now" >> /etc/profile
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
"""
def sh(s, *args):
if args:
s %= tuple(map(commands.mkarg, args))
return shlex.split(s)
mydir = os.path.dirname(__file__)
with tempfile.NamedTemporaryFile(dir=mydir) as dockerfile_fp:
dockerfile_fp.write(DOCKERFILE)
dockerfile_fp.flush()
subprocess.check_call(sh('docker build %s -t d2mw/mitogen-test -f %s',
mydir,
dockerfile_fp.name
))
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEApDM+7xOKYkXilwTWq4Roc3zK+oO3GqWlB5ZcU4ZrZuJ3ZTN5
G4hBb8SPT+7Ne0+dAsnH3rCX+f9W5i8QAkTrXTBq4AawgABsBMtqpwjT4aqy6Xdm
pqC1JAXLYZomk1ZlPnjDB5vLm8YdKhGrlzmmlal0xnCtWxjLLny2Bq9Jb+URNgBK
4PYz2JIeqk9AqcRrUZn22LmxQCLpz+YMR4IjkKw+2M7NjRQ6j6va0br0TBl/1y6Q
7qxZvcdei08dXw0lNWqprvPEDCbV6DMj5RwqnecfxXWdSqK0e/Swfh/3KbQdfzQ9
YHmb+TgA/MnQnN5zRovIYsj6G2+ozl+vGoF8lwIDAQABAoIBACKT7BfajJS/VMUq
rq411u0jBXeVzzRcV5Fud4jbULi8zhnQqhtDKUyJHwjdKAZksJLKvT1HAOoTfFBC
7uMbclkQfiEpJ3f9HsIvuAju0fe+w6hojYRfaWXplne6R49VbUKnmaJ7i3gFU1Tt
na3d5Re1NLMpPUhmwzrJ5mcn+JYIV6UqUz3qF6DVnsI7jafUxl5Dwn2EKuIqVnA3
yOeFY6YaGwAiGVxOBSnkBOJyKeoOReUWEbkZMBHKx0A6AU9s3MiOn8oPJQGqglf/
FsiWbTGkVW3+ya3v68pVGVXilSayThi21JTPJJWrUEXOYDynIPk88jQaq2AW63iY
B4sAzXkCgYEA0aQC6aqIVEJDA29ffy5REMm74raUn4oraDRT37nxCr/LpykwKj2z
FUJAH3vapDzC0e+0zTsk4js+/o7lI/nymdxv/T0KzQMk4uR3rxNjU93PJ4CzAaL3
Lat+KWcTG41+FCAO38VJ+hVr3i6jaBYYlZmqPw9vggDlKhwoGZ82h4MCgYEAyILM
Yh35k8b1nPeiM/F9qdQfIshCxyLY+znGRufvFWALxglXV++7V7imwpRjAUbQ+e5z
bJJdUcyj64Or2gUbgUk5JDlkKzMWKvy7KeK/GBR7yF40thfKNlxmzdGyE5ZJDbY8
lYCN5J2Ng6r8pyFND4w8TxRgb1DUXd9uZREvFl0CgYEAvXP01eoxDcRb/0y1BqB6
zishSn8pzQv2slMnwTWuqcIub0B/sIzVvE6E2G77ZhUrEsIHqLjcWj6kbTQBzANj
xLw70KVLj35Z5VoG9wcUaoQ3Y0Ghg8ccjf8/InduAyZZXCKkjoEim4ikVMPdFIFz
ci7OdfKjGN9qOiX77zu88bUCgYBHnrjEXzKTf2Ch1a4hYaPiMnuAoAmCOcdJTSSu
lQ/IEcuCzDlflqjTN4iRPhFzFkl0zKB76nfczPzMFfcfY+2kK3R2pO1LpO7JIgb0
eiKJxl9EfanUVQEMk8rAv6Mc7fRgKnTPbeDBBSnUGxIt3G47HHs6P+wGNtf0Q+eZ
wB6SnQKBgDdp19UStuKxKyhZ9dJwvhoMxGOJoJuHObb22if9Zg71nDrmbFBKbXCK
+lVnBMC6AzeGS+0Txu87VlilMHm2gzyvLrET2Pd/XOueSHk0B2j5FNwBAX5CyuQt
Y31XJTI5IGCI9UyYJKadrf3XADrp9+Aq5JO6GZzdbOdJ5kK6GUKv
-----END RSA PRIVATE KEY-----
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCkMz7vE4piReKXBNarhGhzfMr6g7capaUHllxThmtm4ndlM3kbiEFvxI9P7s17T50CycfesJf5/1bmLxACROtdMGrgBrCAAGwEy2qnCNPhqrLpd2amoLUkBcthmiaTVmU+eMMHm8ubxh0qEauXOaaVqXTGcK1bGMsufLYGr0lv5RE2AErg9jPYkh6qT0CpxGtRmfbYubFAIunP5gxHgiOQrD7Yzs2NFDqPq9rRuvRMGX/XLpDurFm9x16LTx1fDSU1aqmu88QMJtXoMyPlHCqd5x/FdZ1KorR79LB+H/cptB1/ND1geZv5OAD8ydCc3nNGi8hiyPobb6jOX68agXyX dmw@Eldil.local
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment