blob: fcad27cfd1b471b48082ba4d57da43192aae2731 [file] [log] [blame]
#!/bin/bash
# [START startup]
set -v
# Install logging monitor
# [START logging]
curl -s "https://storage.googleapis.com/signals-agents/logging/google-fluentd-install.sh" | bash
service google-fluentd restart &
# [END logging]
# Install dependencies from apt
apt-get update
apt-get install -yq git build-essential python
# Create a swarming user
useradd -m -d /home/swarming swarming
grep -q -F 'swarming ALL=NOPASSWD: /sbin/shutdown -r now' /etc/sudoers || echo 'swarming ALL=NOPASSWD: /sbin/shutdown -r now' >>/etc/sudoers
# Setup swarming service
mkdir -p /b/swarm_slave
python - <<END
import requests
r = requests.get('http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token', headers={'Metadata-Flavor': 'Google'})
r = requests.get('https://chromium-swarm.appspot.com/bot_code', headers={'Authorization': 'Bearer %(access_token)s' % r.json()}, stream=True)
with open('/b/swarm_slave/swarming_bot.zip', 'wb') as fd:
for chunk in r.iter_content(chunk_size=4096):
fd.write(chunk)
END
chown -R swarming:swarming /b/swarm_slave
cat >/etc/init/swarming.conf <<EOF
description "Swarming bot"
start on filesystem or runlevel [2345]
stop on shutdown
respawn
respawn limit 0 10
setuid swarming
exec /usr/bin/env SWARMING_EXTERNAL_BOT_SETUP=1 python /b/swarm_slave/swarming_bot.zip start_bot
EOF
service swarming start &
# [END startup]