#! /bin/bash

. opts.sh


case "${1}" in
    all)
        ./setup.sh prepare
        ./setup.sh openshift
        ./setup.sh configure
        ./setup.sh projects
        ;;
    local)
        apply playbooks/local.yml || exit 1
        ;;
    vm)
        apply playbooks/ands-setup-vm.yml || exit 1
        ;;
    prepare)
        apply playbooks/ands-prepare.yml || exit 1
        ;;
    openshift)
        apply playbooks/openshift-install.yml || exit 1
        ;;
    configure)
        apply playbooks/openshift-setup.yml || exit 1
        ;;
    projects)
        apply playbooks/openshift-setup-projects.yml || exit 1
        ;;
    openshift-nodes)
        apply playbooks/openshift-add-nodes.yml || exit 1
        ;;
    nodes)
        ./setup.sh prepare || exit 1
        ./setup.sh openshift-nodes || exit 1
        ./setup.sh configure || exit 1
        ;;
    users)
        apply playbooks/openshift-setup-users.yml || exit 1
        ;;
    storage)
        apply playbooks/openshift-setup-storage.yml || exit 1
        ;;
    vpn)
        apply playbooks/openshift-setup-vpn.yml || exit 1
        ;;
    certs)
        apply playbooks/openshift-redeploy-certificates.yml --extra-vars "openshift_certificates_redeploy_ca=true" || exit 1
        ;;
    check)
        apply playbooks/maintain.yml || exit
        ;;
    setup)
        [ -n "$2" ] || usage "Specify that to setup"
        apply ands_openshift -e "subrole=$2"
        ;;
    *)
        apply $@ || exit 1
esac