11#! /bin/bash
22
33get_demoapps_list () {
4- local demoapps_list=" "
5- for demoapp_conf_file in ${DEMOAPPS_VARIABLES_CONFIG_PATH} /* .conf; do
6- demoapp_name=$( basename " $demoapp_conf_file " .conf)
7- demoapps_list+=" $demoapp_name "
8- done
9- # Trim trailing space and print
10- echo " ${demoapps_list%% } "
4+ find " ${DEMOAPPS_VARIABLES_CONFIG_PATH} " -name " *.conf" -type f
115}
126
137delete_lua_shared_dict () {
14- echo " Deleting existing ${LUA_SHARED_DICT_PATH} /*.conf"
15- rm -f ${LUA_SHARED_DICT_PATH} / * .conf
8+ echo " Deleting existing ${LUA_SHARED_DICT_PATH} /**/* .conf"
9+ find " ${LUA_SHARED_DICT_PATH} " -name " *.conf" -type f -delete
1610}
1711
1812create_lua_shared_dict_file () {
1913 local demoapp_name=" $1 "
20- local lua_shared_dict_path=" ${LUA_SHARED_DICT_PATH} /${demoapp_name} .conf"
14+ local demoapp_conf_file=" $2 "
15+ local relative_path=" ${demoapp_conf_file# ${DEMOAPPS_VARIABLES_CONFIG_PATH} / } "
16+ local subdir
17+ subdir=$( dirname " $relative_path " )
18+ local lua_shared_dict_path
19+ if [ " $subdir " = " ." ]; then
20+ lua_shared_dict_path=" ${LUA_SHARED_DICT_PATH} /${demoapp_name} .conf"
21+ else
22+ lua_shared_dict_path=" ${LUA_SHARED_DICT_PATH} /${subdir} /${demoapp_name} .conf"
23+ fi
24+
2125 echo " Creating ${lua_shared_dict_path} "
26+ mkdir -p " $( dirname " $lua_shared_dict_path " ) "
2227 echo " lua_shared_dict ${demoapp_name} _jwks 1m;" > ${lua_shared_dict_path}
2328 echo " lua_shared_dict ${demoapp_name} _discovery 1m;" >> ${lua_shared_dict_path}
2429 echo " lua_shared_dict ${demoapp_name} _oidc_state 1m;" >> ${lua_shared_dict_path}
@@ -28,16 +33,25 @@ create_lua_shared_dict_file() {
2833}
2934
3035delete_multi_configs () {
31- echo " Deleting existing ${DEMOAPPS_CONFIG_PATH} /*.conf"
32- rm -f ${DEMOAPPS_CONFIG_PATH} / * .conf
36+ echo " Deleting existing ${DEMOAPPS_CONFIG_PATH} /**/* .conf"
37+ find " ${DEMOAPPS_CONFIG_PATH} " -name " *.conf" -type f -delete
3338}
3439
3540create_multi_config_file () {
3641 local demoapp_name=" $1 "
37- local demoapps_config_path=" ${DEMOAPPS_CONFIG_PATH} /${demoapp_name} .conf"
42+ local demoapp_conf_file=" $2 "
43+ local relative_path=" ${demoapp_conf_file# ${DEMOAPPS_VARIABLES_CONFIG_PATH} / } "
44+ local subdir=$( dirname " $relative_path " )
45+ local demoapps_config_path
46+ if [ " $subdir " = " ." ]; then
47+ demoapps_config_path=" ${DEMOAPPS_CONFIG_PATH} /${demoapp_name} .conf"
48+ else
49+ demoapps_config_path=" ${DEMOAPPS_CONFIG_PATH} /${subdir} /${demoapp_name} .conf"
50+ fi
3851 echo " Creating ${demoapps_config_path} "
52+ mkdir -p " $( dirname " $demoapps_config_path " ) "
3953 cat /var/ipax/conf/demoapp_template.conf > ${demoapps_config_path}
40- sed -i " s#include /var/ipax/conf/default_variables.conf;#include /var/ipax/conf/default_variables.conf;\n include ${DEMOAPPS_VARIABLES_CONFIG_PATH} / ${demoapp_name} .conf ;#g" ${demoapps_config_path}
54+ sed -i " s#include /var/ipax/conf/default_variables.conf;#include /var/ipax/conf/default_variables.conf;\n include ${demoapp_conf_file} ;#g" " ${demoapps_config_path} "
4155 sed -i " s#location /#location /${demoapp_name} /#g" ${demoapps_config_path}
4256 sed -i " s#root /var/ipax/html/#alias /var/ipax/html/#g" ${demoapps_config_path}
4357}
@@ -64,12 +78,12 @@ if [ "$IPAX_MODE" = "demoapps" ]; then
6478 cp /var/ipax/conf/server/demoapps.conf /usr/local/openresty/nginx/conf/server.conf
6579 delete_lua_shared_dict
6680 delete_multi_configs
67- demoapps_list= $( get_demoapps_list )
68- for demoapp_name in $demoapps_list ; do
69- echo " Processing demoapp: '${demoapp_name } '"
70- create_lua_shared_dict_file " ${demoapp_name} "
71- create_multi_config_file " ${demoapp_name} "
72- done
81+ while IFS= read -r demoapp_conf_file ; do
82+ demoapp_name= $( basename " $demoapp_conf_file " .conf )
83+ echo " Processing demoapp: '${demoapp_conf_file } '"
84+ create_lua_shared_dict_file " ${demoapp_name} " " ${demoapp_conf_file} "
85+ create_multi_config_file " ${demoapp_name} " " ${demoapp_conf_file} "
86+ done < <( get_demoapps_list )
7387 echo " Finished processing demoapps"
7488fi
7589
0 commit comments