]>
Commit | Line | Data |
---|---|---|
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 |