|
| 1 | +#!/bin/bash |
| 2 | +# FIXME move this and related files into the user data via templates and compression |
| 3 | +# this is the install script |
| 4 | +# install_script = "/opt/agent/rundocker.sh" |
| 5 | +# called on boot. |
| 6 | +pwd |
| 7 | +ls -latr |
| 8 | +. ./.env # for secrets |
| 9 | +set -e # stop on any error |
| 10 | +export WORKSOURCE="/opt/agent" |
| 11 | +snap install aws-cli --classic |
| 12 | +apt install -y jq |
| 13 | +echo for now install helper tools |
| 14 | +apt install -y lsof strace nmap |
| 15 | +#apt install -y emacs-nox |
| 16 | +# FIXME another account hardcoded |
| 17 | +aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin 767503528736.dkr.ecr.us-east-2.amazonaws.com |
| 18 | +adduser --disabled-password --gecos "" agent --home "/home/agent" || echo ignore |
| 19 | +git config --global --add safe.directory "/opt/agent" |
| 20 | +cd "/opt/agent/" || exit 1 # "we need agent" |
| 21 | +git log -1 |
| 22 | +mkdir -p "/home/agent" |
| 23 | +mkdir -p "/var/agent/logs" |
| 24 | +chown -R agent:agent "/var/agent/" "/home/agent" "/opt/agent" |
| 25 | +mkdir -p "/var/run/agent/secrets/" |
| 26 | + |
| 27 | +## TURN OFF LOGGING |
| 28 | +set +x |
| 29 | +OPENAI_KEY=$(aws ssm get-parameter --name "agent_openai_key" | jq .Parameter.Value -r ) |
| 30 | +export OPENAI_KEY |
| 31 | +echo "OPENAI_KEY=${OPENAI_KEY}" > "/var/run/agent/secrets/env" |
| 32 | +echo "OPENAI_API_KEY=${OPENAI_KEY}" >> "/var/run/agent/secrets/env" |
| 33 | +set -x |
| 34 | +## TURN ON LOGGING |
| 35 | + |
| 36 | +if ! grep -q "^HOME" "/var/run/agent/secrets/env"; then |
| 37 | + echo "HOME=/home/agent" >> "/var/run/agent/secrets/env" |
| 38 | +fi |
| 39 | +if ! grep -q "^HOME" "/var/run/agent/secrets/env"; then |
| 40 | + echo "WORKSPACE_DIR=\${STATE_DIRECTORY}" >> "/var/run/agent/secrets/env" |
| 41 | +fi |
| 42 | +cp "${WORKSOURCE}/systemd/agent-docker.service" /etc/systemd/system/agent-docker.service |
| 43 | +grep . -h -n /etc/systemd/system/agent-docker.service |
| 44 | +chown -R agent:agent /var/run/agent/ |
| 45 | +chown -R agent:agent /opt/agent/ |
| 46 | +systemctl daemon-reload |
| 47 | +systemctl start agent-docker || echo failed |
| 48 | +systemctl enable agent-docker || echo failed |
| 49 | +systemctl status agent-docker || echo oops2 |
0 commit comments