Chris@1593
|
1 #!/bin/bash
|
Chris@1593
|
2
|
Chris@1593
|
3 # To be sourced into a container-specific start.sh file, not run
|
Chris@1593
|
4 # standalone
|
Chris@1593
|
5
|
Chris@1593
|
6 usage() {
|
Chris@1593
|
7 echo "Usage: $0 <database-password> <api-key> <api-httpauth-password>" 1>&2
|
Chris@1593
|
8 exit 2
|
Chris@1593
|
9 }
|
Chris@1593
|
10
|
Chris@1593
|
11 dbpass="$1"
|
Chris@1593
|
12 if [ -z "$dbpass" ]; then
|
Chris@1593
|
13 usage
|
Chris@1593
|
14 fi
|
Chris@1593
|
15
|
Chris@1593
|
16 apikey="$2"
|
Chris@1593
|
17 if [ -z "$apikey" ]; then
|
Chris@1593
|
18 usage
|
Chris@1593
|
19 fi
|
Chris@1593
|
20
|
Chris@1593
|
21 apipass="$3"
|
Chris@1593
|
22 if [ -z "$apipass" ]; then
|
Chris@1593
|
23 usage
|
Chris@1593
|
24 fi
|
Chris@1593
|
25
|
Chris@1593
|
26 set -eu -o pipefail
|
Chris@1593
|
27
|
Chris@1593
|
28 rootdir="$mydir/../.."
|
Chris@1593
|
29
|
Chris@1593
|
30 deploydir="$rootdir"/deploy
|
Chris@1593
|
31 if [ ! -d "$deploydir" ]; then
|
Chris@1593
|
32 echo "ERROR: Unexpected repository layout - expected directory at $deploydir"
|
Chris@1593
|
33 exit 2
|
Chris@1593
|
34 fi
|
Chris@1593
|
35
|
Chris@1593
|
36 managerdir="$deploydir/vagrant"
|
Chris@1593
|
37 if [ ! -d "$managerdir" ]; then
|
Chris@1593
|
38 echo "ERROR: Required directory $managerdir not found"
|
Chris@1593
|
39 exit 2
|
Chris@1593
|
40 fi
|
Chris@1593
|
41
|
Chris@1593
|
42 configdir="$deploydir/config"
|
Chris@1593
|
43 if [ ! -d "$configdir" ]; then
|
Chris@1593
|
44 echo "ERROR: Required directory $configdir not found"
|
Chris@1593
|
45 exit 2
|
Chris@1593
|
46 fi
|
Chris@1593
|
47
|
Chris@1593
|
48 if [ ! -f "$rootdir/postgres-dumpall" ]; then
|
Chris@1605
|
49 echo "ERROR: I expect to find a Postgres SQL multi-db dump file in $rootdir/postgres-dumpall. Create an empty file there if you don't want to load a database."
|
Chris@1593
|
50 exit 2
|
Chris@1593
|
51 fi
|
Chris@1593
|
52
|
Chris@1593
|
53 fontdir="$rootdir"/public/themes/soundsoftware/stylesheets/fonts
|
Chris@1593
|
54 if [ ! -f "$fontdir/24BC0E_0_0.woff" ]; then
|
Chris@1593
|
55 echo "ERROR: I expect to find necessary webfonts in $fontdir"
|
Chris@1593
|
56 exit 2
|
Chris@1593
|
57 fi
|
Chris@1593
|
58
|
Chris@1610
|
59 #apischeme=http
|
Chris@1610
|
60 #apihost=localhost
|
Chris@1593
|
61
|
Chris@1610
|
62 apischeme=https
|
Chris@1610
|
63 apihost=code.soundsoftware.ac.uk
|
Chris@1593
|
64
|
Chris@1593
|
65 for f in "$configdir"/*.in "$rootdir"/extra/soundsoftware/extract-docs.sh ; do
|
Chris@1593
|
66 out="$configdir"/$(basename "$f" .in).gen
|
Chris@1593
|
67 cat "$f" | sed \
|
Chris@1593
|
68 -e 's/INSERT_DATABASE_PASSWORD_HERE/'"$dbpass"'/g' \
|
Chris@1593
|
69 -e 's/INSERT_API_KEY_HERE/'"$apikey"'/g' \
|
Chris@1593
|
70 -e 's/INSERT_API_SCHEME_HERE/'"$apischeme"'/g' \
|
Chris@1593
|
71 -e 's/INSERT_API_HOST_HERE/'"$apihost"'/g' \
|
Chris@1593
|
72 -e 's/INSERT_API_USER_HERE/user/g' \
|
Chris@1593
|
73 -e 's/INSERT_API_PASSWORD_HERE/'"$apipass"'/g' \
|
Chris@1593
|
74 > "$out"
|
Chris@1593
|
75 done
|