[AAI-2179] Run container process as non-root
[aai/search-data-service.git] / search-data-service-app / src / main / bin / start.sh
1 #!/bin/sh
2
3 BASEDIR="/opt/app/search-data-service"
4 AJSC_HOME="$BASEDIR"
5 AJSC_CONF_HOME="$AJSC_HOME/bundleconfig/"
6
7 if [ -z "$CONFIG_HOME" ]; then
8         echo "CONFIG_HOME must be set in order to start up process"
9         exit 1
10 fi
11
12 if [ -z "$KEY_STORE_PASSWORD" ]; then
13         echo "KEY_STORE_PASSWORD must be set in order to start up process"
14         exit 1
15 fi
16
17 # Changes related to:AAI-2179
18 # Change aai search-data  container processes to run as non-root on the host
19 USER_ID=${LOCAL_USER_ID:-9001}
20 GROUP_ID=${LOCAL_GROUP_ID:-9001}
21 SD_LOGS=/var/log/onap/AAI-SDB
22
23 if [ $(cat /etc/passwd | grep aaiadmin | wc -l) -eq 0 ]; then
24
25         groupadd aaiadmin -g ${GROUP_ID} || {
26                 echo "Unable to create the group id for ${GROUP_ID}";
27                 exit 1;
28         }
29         useradd --shell=/bin/bash -u ${USER_ID} -g ${GROUP_ID} -o -c "" -m aaiadmin || {
30                 echo "Unable to create the user id for ${USER_ID}";
31                 exit 1;
32         }
33 fi;
34
35 chown -R aaiadmin:aaiadmin ${MICRO_HOME}
36 chown -R aaiadmin:aaiadmin ${AJSC_HOME}
37 chown -R aaiadmin:aaiadmin ${SD_LOGS}
38
39 find ${MICRO_HOME}  -name "*.sh" -exec chmod +x {} +
40
41 gosu aaiadmin ln -s /logs $MICRO_HOME/logs
42 JAVA_CMD="exec gosu aaiadmin java";
43 ###
44 PROPS="-DAJSC_HOME=$AJSC_HOME"
45 PROPS="$PROPS -DAJSC_CONF_HOME=$AJSC_CONF_HOME"
46 PROPS="$PROPS -Dlogging.config=$BASEDIR/bundleconfig/etc/logback.xml"
47 PROPS="$PROPS -DCONFIG_HOME=$CONFIG_HOME"
48 PROPS="$PROPS -DKEY_STORE_PASSWORD=$KEY_STORE_PASSWORD"
49
50 if [ ! -z "$TRUST_STORE_PASSWORD" ]; then
51    PROPS="$PROPS -DTRUST_STORE_PASSWORD=${TRUST_STORE_PASSWORD}"
52 fi
53
54 if [ ! -z "$TRUST_STORE_LOCATION" ]; then
55    PROPS="$PROPS -DTRUST_STORE_LOCATION=${TRUST_STORE_LOCATION}"
56 fi
57
58 JVM_MAX_HEAP=${MAX_HEAP:-1024}
59
60 ${JAVA_CMD}   $PROPS -jar $BASEDIR/search-data-service-package.jar