#!/bin/bash
set -e
OUT_DIR=out
function usage() {
cat - <<-EOF
SlightShift-SPB Kit
Usage:
$0 <command>
commands:
install Install {mysql-spb}
uninstall Backup {mysql-spb}
EOF
}
function render() {
RENDER_DIR=$OUT_DIR/$(date +%Y%m%d%H%M%S)
mkdir -p $RENDER_DIR
cp -r `ls | grep -E -v "^(out)$"` $RENDER_DIR/
cd $RENDER_DIR
#render hosts with env.yml
ansible all -i inventory/localhost -m template --connection=local
-a "src=inventory/hosts dest=inventory/hosts"
-e "@env.yml"
#render vars with env.yml
ansible all -i inventory/localhost -m template --connection=local
-a "src=plays/group_vars/all.yml dest=plays/group_vars/all.yml"
-e "@env.yml"
#render vars with env.yml
#ansible all -i inventory/localhost -m template --connection=local
#-a "src=plays/group_vars/mysql-exporter.yml dest=plays/group_vars/mysql-exporter.yml"
#-e "@env.yml"
#render vars with env.yml
ansible all -i inventory/localhost -m template --connection=local
-a "src=plays/group_vars/mysql-master.yml dest=plays/group_vars/mysql-master.yml"
-e "@env.yml"
#render vars with env.yml
ansible all -i inventory/localhost -m template --connection=local
-a "src=plays/group_vars/mysql-slave.yml dest=plays/group_vars/mysql-slave.yml"
-e "@env.yml"
}
function install() {
# render
ansible-playbook -i inventory/hosts plays/mysql_install.yml --verbose
# ansible-playbook -i inventory/hosts plays/mysql_verify.yml --verbose
}
function uninstall() {
render
# ansible-playbook -i inventory/hosts plays/mysql_backup.yml --verbose
ansible-playbook -i inventory/hosts plays/mysql_uninstall.yml --verbose
}
function start() {
case $1 in
install )
install
;;
uninstall )
uninstall
;;
*)
usage
exit 1
;;
esac
}
function main() {
if [[ $# == 0 ]] ; then
usage
exit 1
fi
cd $(dirname $0)
cd ..
start $1
}
main $1