|
Theo Chatzimichos |
79c2f8 |
#!/bin/bash
|
|
Theo Chatzimichos |
79c2f8 |
|
|
Theo Chatzimichos |
79c2f8 |
# Validate the salt-generated nginx configs
|
|
Theo Chatzimichos |
79c2f8 |
|
|
Theo Chatzimichos |
79c2f8 |
if [[ $(whoami) != 'root' ]]; then
|
|
Theo Chatzimichos |
79c2f8 |
if [[ -f /usr/bin/sudo ]]; then
|
|
Theo Chatzimichos |
79c2f8 |
SUDO='/usr/bin/sudo'
|
|
Theo Chatzimichos |
79c2f8 |
else
|
|
Theo Chatzimichos |
79c2f8 |
echo 'Please install sudo first, or run this script as root'
|
|
Theo Chatzimichos |
79c2f8 |
exit 1
|
|
Theo Chatzimichos |
79c2f8 |
fi
|
|
Theo Chatzimichos |
79c2f8 |
fi
|
|
Theo Chatzimichos |
79c2f8 |
|
|
Theo Chatzimichos |
79c2f8 |
reset_nginx() {
|
|
Theo Chatzimichos |
79c2f8 |
$SUDO rm -rf /etc/nginx/vhosts.d/*
|
|
Theo Chatzimichos |
79c2f8 |
printf "roles:\n- $role" | $SUDO tee /etc/salt/grains > /dev/null
|
|
Theo Chatzimichos |
79c2f8 |
}
|
|
Theo Chatzimichos |
79c2f8 |
|
|
Theo Chatzimichos |
79c2f8 |
WEB_ROLES=( $(bin/get_roles.py | grep web_) )
|
|
Theo Chatzimichos |
79c2f8 |
|
|
Theo Chatzimichos |
79c2f8 |
for role in ${WEB_ROLES[@]}; do
|
|
Theo Chatzimichos |
79c2f8 |
if grep nginx salt/role/$role.sls > /dev/null; then
|
|
Theo Chatzimichos |
79c2f8 |
echo "Testing role: $role"
|
|
Theo Chatzimichos |
79c2f8 |
reset_nginx
|
|
Theo Chatzimichos |
79c2f8 |
$SUDO salt-call --local -l quiet state.apply role.$role > /dev/null
|
|
Theo Chatzimichos |
79c2f8 |
if $(nginx -tq); then
|
|
Theo Chatzimichos |
79c2f8 |
echo 'PASSED'
|
|
Theo Chatzimichos |
79c2f8 |
else
|
|
Theo Chatzimichos |
79c2f8 |
STATUS=1
|
|
Theo Chatzimichos |
79c2f8 |
fi
|
|
Theo Chatzimichos |
79c2f8 |
fi
|
|
Theo Chatzimichos |
79c2f8 |
done
|
|
Theo Chatzimichos |
79c2f8 |
|
|
Theo Chatzimichos |
79c2f8 |
exit $STATUS
|