|
2 | 2 |
|
3 | 3 | set -euo pipefail |
4 | 4 |
|
5 | | -VERSION=1.3.2 |
6 | | -INSTALL_PATH=/var/lib |
7 | | -AV_PATH=$INSTALL_PATH/aviary/av |
8 | | -RELEASE_URL=https://gitlab.com/dchester/aviary.sh/-/archive/${VERSION}/aviary.sh-${VERSION}.tar.gz |
9 | | -INVENTORY_GIT_URL=${1:-""} |
10 | | -CONFIG_FILE=${INSTALL_PATH}/aviary/config |
11 | | - |
12 | | -# check for git dependency |
13 | | -if ! /usr/bin/which git > /dev/null; then |
14 | | - echo "Please install git and try again" |
15 | | - exit 1 |
16 | | -fi |
17 | | - |
18 | | -if [[ -z "$INVENTORY_GIT_URL" ]]; then |
19 | | - echo "Installing with no inventory git url; set later in $CONFIG_FILE" |
20 | | -fi |
21 | | - |
22 | | -if [[ -e /var/lib/aviary ]]; then |
23 | | - echo "Found existing installation at $INSTALL_PATH; exiting" |
24 | | - exit 1 |
25 | | -fi |
26 | | - |
27 | | -echo Installing to ${INSTALL_PATH}... |
28 | | -mkdir -p ${INSTALL_PATH}/aviary |
29 | | -curl -s $RELEASE_URL | tar --strip-components=1 -C ${INSTALL_PATH}/aviary -xz |
30 | | -ln -sf /var/lib/aviary/av /usr/bin/av |
31 | | -mkdir -p ${INSTALL_PATH}/aviary/inventory |
32 | | - |
33 | | -if [[ ! -z "$INVENTORY_GIT_URL" ]]; then |
34 | | - echo "inventory_git_url=$INVENTORY_GIT_URL" >> $CONFIG_FILE |
35 | | -fi |
36 | | - |
37 | | -echo Adding entry to /etc/crontab... |
38 | | -echo "$(cat /etc/crontab | grep -v $AV_PATH)" > /etc/crontab |
39 | | -echo "* * * * * root $AV_PATH directive >> /var/log/aviary-directive.log 2>&1" >> /etc/crontab |
40 | | -echo "$(( RANDOM % 60 )) * * * * root $AV_PATH apply >> /var/log/aviary.log 2>&1" >> /etc/crontab |
41 | | - |
42 | | -echo Done |
| 5 | +function run() { |
| 6 | + VERSION=1.3.2 |
| 7 | + INSTALL_PATH=/var/lib |
| 8 | + AV_PATH=$INSTALL_PATH/aviary/av |
| 9 | + RELEASE_URL=https://gitlab.com/dchester/aviary.sh/-/archive/${VERSION}/aviary.sh-${VERSION}.tar.gz |
| 10 | + INVENTORY_GIT_URL=${1:-""} |
| 11 | + CONFIG_FILE=${INSTALL_PATH}/aviary/config |
| 12 | + |
| 13 | + # check for git dependency |
| 14 | + if ! /usr/bin/which git > /dev/null; then |
| 15 | + echo "Please install git and try again" |
| 16 | + exit 1 |
| 17 | + fi |
| 18 | + |
| 19 | + if [[ -z "$INVENTORY_GIT_URL" ]]; then |
| 20 | + echo "Installing with no inventory git url; set later in $CONFIG_FILE" |
| 21 | + fi |
| 22 | + |
| 23 | + if [[ -e /var/lib/aviary ]]; then |
| 24 | + echo "Found existing installation at $INSTALL_PATH; exiting" |
| 25 | + exit 1 |
| 26 | + fi |
| 27 | + |
| 28 | + echo Installing to ${INSTALL_PATH}... |
| 29 | + mkdir -p ${INSTALL_PATH}/aviary |
| 30 | + curl -s $RELEASE_URL | tar --strip-components=1 -C ${INSTALL_PATH}/aviary -xz |
| 31 | + ln -sf /var/lib/aviary/av /usr/bin/av |
| 32 | + mkdir -p ${INSTALL_PATH}/aviary/inventory |
| 33 | + |
| 34 | + if [[ ! -z "$INVENTORY_GIT_URL" ]]; then |
| 35 | + echo "inventory_git_url=$INVENTORY_GIT_URL" >> $CONFIG_FILE |
| 36 | + fi |
| 37 | + |
| 38 | + echo Adding entry to /etc/crontab... |
| 39 | + echo "$(cat /etc/crontab | grep -v $AV_PATH)" > /etc/crontab |
| 40 | + echo "* * * * * root $AV_PATH directive >> /var/log/aviary-directive.log 2>&1" >> /etc/crontab |
| 41 | + echo "$(( RANDOM % 60 )) * * * * root $AV_PATH apply >> /var/log/aviary.log 2>&1" >> /etc/crontab |
| 42 | + |
| 43 | + echo Done |
| 44 | +} |
| 45 | + |
| 46 | +run # Wrap in function to ensure entire script is downloaded. |
0 commit comments