diff options
author | Jesse Luehrs <doy@tozt.net> | 2017-11-05 01:04:20 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2017-11-05 01:04:20 -0500 |
commit | c863b84562ae1438cc8476e2b2aa5a5da3b9ab46 (patch) | |
tree | 352ca9ff48e869e26729ca65b0e161f820f58a42 /bootstrap | |
parent | bde4c815d31cda0b9712037aad5de63431c48b33 (diff) | |
download | puppet-tozt-c863b84562ae1438cc8476e2b2aa5a5da3b9ab46.tar.gz puppet-tozt-c863b84562ae1438cc8476e2b2aa5a5da3b9ab46.zip |
more refactoring of the bootstrap script
and put the config somewhere more permanent, since we'll want to be able
to use the puppet config for ongoing maintenance
Diffstat (limited to 'bootstrap')
-rwxr-xr-x | bootstrap | 26 |
1 files changed, 16 insertions, 10 deletions
@@ -3,24 +3,30 @@ set -eux set -o pipefail host="$1" +conf_location="/usr/local/share/bootstrap-tozt" +conf_repo="git://github.com/doy/bootstrap-tozt" remote() { ssh root@$host "$@" } +ensure_conf_exists() { + if remote test -d "$conf_location"; then + remote "cd '$conf_location' && git pull" + else + remote "mkdir -p '$conf_location'" + remote "cd '$conf_location' && git clone '$conf_repo' ." + fi + remote "cd '$conf_location' && git submodule update --init --recursive" +} + if remote test ! -e /usr/bin/pacman; then remote apt-get -y update remote apt-get -y install git - remote "cd /tmp && git clone git://github.com/doy/bootstrap-tozt" - remote "cd /tmp/bootstrap-tozt && git submodule update --init" - remote "cd /tmp/bootstrap-tozt/digitalocean-debian-to-arch && bash install.sh --i_understand_that_this_droplet_will_be_completely_wiped --extra_packages 'puppet git ruby-shadow'" + ensure_conf_exists + remote "cd '$conf_location/digitalocean-debian-to-arch' && bash install.sh --i_understand_that_this_droplet_will_be_completely_wiped --extra_packages 'puppet git ruby-shadow'" sleep 30 fi -if remote test -d /tmp/bootstrap-tozt; then - remote "cd /tmp/bootstrap-tozt && git pull" -else - remote "cd /tmp && git clone git://github.com/doy/bootstrap-tozt" -fi - -remote "cd /tmp/bootstrap-tozt && puppet apply --modulepath=./modules manifest.pp" +ensure_conf_exists +remote "cd '$conf_location' && puppet apply --modulepath=./modules manifest.pp" |