diff --git a/packer/buildkite-ami.json b/packer/buildkite-ami.json index 6c46889fb..10060501f 100644 --- a/packer/buildkite-ami.json +++ b/packer/buildkite-ami.json @@ -20,11 +20,11 @@ }, { "type": "shell", - "script": "scripts/install-docker.sh" + "script": "scripts/install-buildkite.sh" }, { "type": "shell", - "script": "scripts/install-buildkite.sh" + "script": "scripts/install-docker.sh" } ] } diff --git a/packer/conf/docker.conf b/packer/conf/docker.conf index 7b78230a3..3f3275b77 100644 --- a/packer/conf/docker.conf +++ b/packer/conf/docker.conf @@ -2,4 +2,4 @@ # running containers. The default value of 1048576 mirrors the value # used by the systemd service unit. DAEMON_MAXFILES=1048576 -OPTIONS="--default-ulimit nofile=1024:4096 -s overlay" \ No newline at end of file +OPTIONS="--default-ulimit nofile=1024:4096 -s overlay --userns-remap=buildkite-agent" diff --git a/packer/conf/subgid b/packer/conf/subgid new file mode 100644 index 000000000..4618a181a --- /dev/null +++ b/packer/conf/subgid @@ -0,0 +1 @@ +buildkite-agent:496:65536 diff --git a/packer/conf/subuid b/packer/conf/subuid new file mode 100644 index 000000000..2268332b8 --- /dev/null +++ b/packer/conf/subuid @@ -0,0 +1 @@ +buildkite-agent:498:65536 diff --git a/packer/scripts/install-buildkite.sh b/packer/scripts/install-buildkite.sh index c28745113..9eac38c35 100755 --- a/packer/scripts/install-buildkite.sh +++ b/packer/scripts/install-buildkite.sh @@ -10,7 +10,6 @@ priority=1 EOF sudo yum -y install buildkite-agent -sudo usermod -a -G docker buildkite-agent # https://github.com/buildkite/agent/issues/234 if [ -f /etc/init/buildkite-agent.conf ]; then @@ -21,4 +20,4 @@ fi # move custom hooks into place chmod +x /tmp/conf/hooks/* sudo cp -a /tmp/conf/hooks/* /etc/buildkite-agent/hooks -sudo chown -R buildkite-agent: /etc/buildkite-agent/hooks \ No newline at end of file +sudo chown -R buildkite-agent: /etc/buildkite-agent/hooks diff --git a/packer/scripts/install-docker.sh b/packer/scripts/install-docker.sh index caf303a90..4e1e0de4d 100755 --- a/packer/scripts/install-docker.sh +++ b/packer/scripts/install-docker.sh @@ -1,11 +1,19 @@ -#!/bin/bash -eu +#!/bin/bash -eux sudo yum update -yq sudo yum install -yq docker sudo usermod -a -G docker ec2-user +sudo usermod -a -G docker buildkite-agent + sudo cp /tmp/conf/docker.conf /etc/sysconfig/docker +sudo cp /tmp/conf/subuid /etc/subuid +sudo cp /tmp/conf/subgid /etc/subgid + +# Overwrite the yum packaged docker with the latest +sudo wget https://get.docker.com/builds/Linux/x86_64/docker-1.10.3 -O /usr/bin/docker +sudo chmod +x /usr/bin/docker -sudo service docker start +sudo service docker start || ( cat /var/log/docker && false ) sudo docker info # installs docker-compose @@ -19,4 +27,4 @@ sudo chmod +x /etc/cron.hourly/docker-gc # install jq sudo curl -o /usr/bin/jq -L https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64 -sudo chmod +x /usr/bin/jq \ No newline at end of file +sudo chmod +x /usr/bin/jq