avalanche-ops
avalanche-ops copied to clipboard
Make dev machine plugins more configurable/modular
c.f., https://github.com/ava-labs/avalanche-ops/pull/376
ideally, we shouldn't hard-code plugin bootstrap script.
We can follow the pattern here: https://github.com/gyuho/aws-manager/blob/main/examples/ec2_plugins.rs
And do something like
UserData:
Fn::Base64:
Fn::Sub: |
#!/usr/bin/env bash
# install aws cli
while [ 1 ]; do
sudo rm -f /tmp/awscli-exe-linux-$(uname -m).zip || true;
sudo apt-get update -yq && sudo apt-get install -yq wget unzip && wget --quiet --retry-connrefused --waitretry=1 --read-timeout=20 --timeout=15 --tries=70 --directory-prefix=/tmp/ --continue https://awscli.amazonaws.com/awscli-exe-linux-$(uname -m).zip
if [ $? = 0 ]; then break; fi; # check return value, break if successful (0)
sleep 2s;
done;
unzip /tmp/awscli-exe-linux-$(uname -m).zip && sudo ./aws/install
/usr/local/bin/aws --version
AWS_RETRY_MODE=standard AWS_MAX_ATTEMPTS=7 aws s3 cp s3://${S3BucketName}/${Id}/init.bash /tmp/init.bash
bash /tmp/init.bash