Node class, command line redesign. New xml template for process configuration.
[anna.git] / example / diameter / launcher / deployments / advanced / pre-start.sh
1 #!/bin/bash
2
3 # Remove logs:
4 rm *.log* *.csv 2>/dev/null
5
6 # Server sockets:
7 httpServer_dflt=`cat .httpServer 2>/dev/null`
8 diameterServer_dflt=`cat .diameterServer 2>/dev/null`
9 diameterServerSessions_dflt=`cat .diameterServerSessions 2>/dev/null`
10
11 # Client sockets:
12 entity_dflt=`cat .entity 2>/dev/null`
13 entityServerSessions_dflt=`cat .entityServerSessions 2>/dev/null`
14
15 echo
16 echo
17 # If all have values:
18 if [ "$httpServer_dflt" != ""  -a "$diameterServer_dflt" != "" -a "$diameterServerSessions_dflt" != "" -a \
19   "$entity_dflt" != ""  -a "$entityServerSessions_dflt" != "" ]
20 then
21   echo "Do you wish to answer wizard commandline configuration ? (y/n) [n]:"
22   read wizard
23   [ "$wizard" = "" ] && wizard=n
24   [ "$wizard" = "n" ] && exit
25 fi
26
27 # DEFAULTS
28 [ "$httpServer_dflt" = "" ] && httpServer_dflt="localhost:9000"
29 [ "$diameterServer_dflt" = "" ] && diameterServer_dflt="localhost:3868"
30 [ "$diameterServerSessions_dflt" = "" ] && diameterServerSessions_dflt=1
31 [ "$entity_dflt" = "" ] && entity_dflt="localhost:4000,localhost:4001"
32 [ "$entityServerSessions_dflt" = "" ] && entityServerSessions_dflt=0
33
34
35 # Wizard
36 echo "HTTP Management interface address (using i.e. curl tool) as <ip|hostname>:<port> socket literal [$httpServer_dflt]:"
37 read httpServer
38 [ "$httpServer" = "" ] && httpServer=$httpServer_dflt
39
40 # As server:
41 echo "Diameter own server available connections (0: diameter server disabled) [$diameterServerSessions_dflt]:"
42 read diameterServerSessions
43 [ "$diameterServerSessions" = "" ] && diameterServerSessions=$diameterServerSessions_dflt
44
45 diameterServer=
46 if test "$diameterServerSessions" != "0"
47 then
48   echo "Diameter own server address as <ip|hostname>:<port> socket literal [$diameterServer_dflt]:"
49   read diameterServer
50 fi
51 [ "$diameterServer" = "" ] && diameterServer=$diameterServer_dflt
52
53 # As client:
54 echo "Diameter entity server sessions (0: diameter entity disabled) [$entityServerSessions_dflt]:"
55 read entityServerSessions
56 [ "$entityServerSessions" = "" ] && entityServerSessions=$entityServerSessions_dflt
57
58 entity=
59 if test "$entityServerSessions" != "0"
60 then
61   echo "Target diameter entity (pipe-separated <ip|hostname>:<port> socket literal list) ["$entity_dflt"]:"
62   read entity
63 fi
64 [ "$entity" = "" ] && entity="$entity_dflt"
65
66 # Configure:
67 echo $httpServer > .httpServer
68
69 cat services.msk \
70   | sed 's/_DIAMETER_SERVER_/'$diameterServer'/' \
71   | sed 's/_DIAMETER_SERVER_SESSIONS_/'$diameterServerSessions'/' \
72   | sed 's/_ENTITY_/'$entity'/' \
73   | sed 's/_ENTITY_SERVER_SESSIONS_/'$entityServerSessions'/' \
74 > services.xml
75
76 echo
77 echo
78