summaryrefslogtreecommitdiff
path: root/install/ishtar-delete-instance
blob: f67770d4de0581fa50ba87a4de59b520a07edd80 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#!/bin/bash

set -e

do_delete_instance() {
    NGINX_AVAILABLE_PATH='/etc/nginx/sites-available'
    NGINX_ENABLE_PATH='/etc/nginx/sites-enabled'
    UWSGI_AVAILABLE_PATH='/etc/uwsgi/apps-available'
    UWSGI_ENABLE_PATH='/etc/uwsgi/apps-enabled'

    if [ ! -z '$CONFIG_PATH' ]; then
        CONFIG_PATH="/etc/ishtar/"
    fi

    if [ ! -f $CONFIG_PATH/config ]; then
        echo "";
        echo ""$CONFIG_PATH" is not a valid config file."
        echo "Have you properly install Ishtar sources?"
        echo "Run ishtar-install before this script.";
        echo "";
        exit 1;
    fi

    source $CONFIG_PATH/config

    INSTANCES_FILE=$CONFIG_PATH/instances
    if [ ! -f $INSTANCES_FILE ]; then
        echo "";
        echo "No instance installated. Exiting."
        echo "";
        exit 1;
    fi

    cat >&2 <<-'EOF'

*******************************************************************************
++++++               Ishtar instance deletion script                     ++++++
*******************************************************************************

    Avalaible instances:

EOF

    cat $INSTANCES_FILE

    to_delete=''
    echo ""
    while [ "$to_delete" == '' ]
    do
        read -p "* Which one would you like to delete? " choice
        GRP=`cat $INSTANCES_FILE | grep "^$choice$"`
        if [ "$GRP" != '' ]; then
            to_delete=$choice
        fi
    done
    echo ""
    echo "Are you really sure to delete configuration, database and media attached to the "
    echo "instance "$to_delete"?"
    echo ""
    read -p "* Type DELETE if you are sure: " choice
    if [ "$choice" != "DELETE" ]; then
        exit 1
    fi

    sed '/'$to_delete'/d' $INSTANCES_FILE > /tmp/new_instances
    mv /tmp/new_instances $INSTANCES_FILE

    INSTANCE=$to_delete
    rm -rf $ISHTAR_PATH/$INSTANCE
    rm -f "$NGINX_AVAILABLE_PATH/ishtar-$INSTANCE.conf"
    rm -f "$NGINX_ENABLE_PATH/ishtar-$INSTANCE.conf"
    rm -f "$UWSGI_AVAILABLE_PATH/ishtar-$INSTANCE.ini"
    rm -f "$UWSGI_ENABLE_PATH/ishtar-$INSTANCE.ini"

    DB_NAME="ishtar-$INSTANCE"
    export DB_NAME
    su postgres <<'EOF'
        dropdb "$DB_NAME"
        dropuser "$DB_NAME"
EOF

    echo $to_delete" have been completly removed"
}

do_delete_instance