]> git.immae.eu Git - perso/Immae/Config/Ansible.git/blob - roles/contexts/fretlink/files/workdir/start
New configuration as of 2019-08-21
[perso/Immae/Config/Ansible.git] / roles / contexts / fretlink / files / workdir / start
1 #!/bin/bash
2
3 APP="$1"
4 shift
5
6 if [ -z "$APP" ]; then
7 if [ $(dirname $(pwd)) = "$HOME/workdir" ]; then
8 APP=$(basename $(pwd))
9 else
10 echo "need an app to start"
11 exit 1
12 fi
13 fi
14
15 if [ "$APP" != "psql" -a "$APP" != "pg_restore" ]; then
16 cd $HOME/workdir/$APP
17 source ../environment
18 elif [ "$APP" = "pg_restore" ]; then
19 source ../environment
20 APP=pg_restore
21 else
22 source ../environment
23 APP=psql
24 fi
25
26 function start_stack() {
27 stack exec $1;
28 }
29
30 function start_app() {
31 trap 'make stop' EXIT
32
33 if ! docker top mongo_container 2>/dev/null; then
34 docker run -d --name mongo_container -p 27017:27017 --rm -v $(pwd)/appdata:/data/db mongo:3.6-hacker
35 echo "Waiting until mongo is started"
36 sleep 10
37 fi
38
39 make start
40 make --directory=frontend/ start
41 }
42
43 function start_psql() {
44 export PGPASSWORD=$POSTGRESQL_ADDON_PASSWORD
45 psql -h $POSTGRESQL_ADDON_HOST -p $POSTGRESQL_ADDON_PORT -U $POSTGRESQL_ADDON_USER -d $POSTGRESQL_ADDON_DB
46 }
47
48 function start_pg_restore() {
49 export PGPASSWORD=$POSTGRESQL_ADDON_PASSWORD
50 pg_restore -h $POSTGRESQL_ADDON_HOST -p $POSTGRESQL_ADDON_PORT -U $POSTGRESQL_ADDON_USER -d $POSTGRESQL_ADDON_DB
51 }
52
53 case "$APP${FLAVOR:+-}$FLAVOR" in
54 "psql") start_psql;;
55 "pg_restore") start_pg_restore;;
56 "app") start_app;;
57 "admin-root") start_stack server;;
58 "admin-user") start_stack server;;
59 "carrier-directory") start_stack server;;
60 "freight") start_stack freight-server;;
61 "notifier") start_stack notifier-exe;;
62 "notifier-amqp") start_stack notifier-exe-amqp;;
63 "pricer") start_stack pricer;;
64 "third-parties") start_stack server;;
65 "toolbox") start_stack toolbox-api;;
66 esac