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