@@ -13,10 +13,31 @@ export -f get_base_domain
13
13
function run_le_container {
14
14
local image=" ${1:? } "
15
15
local name=" ${2:? } "
16
- local cli_args_str= " ${3 :- } "
16
+ shift 2
17
17
local -a cli_args_arr
18
- for arg in $cli_args_str ; do
19
- cli_args_arr+=(" $arg " )
18
+
19
+ while [[ $# -gt 0 ]]; do
20
+ local flag=" $1 "
21
+
22
+ case $flag in
23
+ -c|--cli-args) # only one value per flag. Multiple args = use flag multiple times
24
+ local cli_args_arr_tmp
25
+ IFS=' ' read -r -a cli_args_arr_tmp <<< " ${2:?}"
26
+ cli_args_arr+=(" ${cli_args_arr_tmp[0]} " ) # Head
27
+ # shellcheck disable=SC2116
28
+ cli_args_arr+=(" $( echo " ${cli_args_arr_tmp[@]: 1} " ) " ) # Tail
29
+ shift 2
30
+ ;;
31
+
32
+ * ) # Legacy Option
33
+ local cli_args_str=" ${1:? } "
34
+ for arg in $cli_args_str ; do
35
+ cli_args_arr+=(" $arg " )
36
+ done
37
+ shift
38
+ ;;
39
+ esac
40
+
20
41
done
21
42
22
43
if [[ " $SETUP " == ' 3containers' ]]; then
@@ -30,6 +51,7 @@ function run_le_container {
30
51
cli_args_arr+=(--env " ACME_CA_URI=https://pebble:14000/dir" )
31
52
cli_args_arr+=(--env " CA_BUNDLE=/pebble.minica.pem" )
32
53
cli_args_arr+=(--network acme_net)
54
+ cli_args_arr+=(--volume " ${GITHUB_WORKSPACE} /pebble.minica.pem:/pebble.minica.pem" )
33
55
else
34
56
return 1
35
57
fi
@@ -38,7 +60,6 @@ function run_le_container {
38
60
--name " $name " \
39
61
--volumes-from " $NGINX_CONTAINER_NAME " \
40
62
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
41
- --volume " ${GITHUB_WORKSPACE} /pebble.minica.pem:/pebble.minica.pem" \
42
63
" ${cli_args_arr[@]} " \
43
64
--env " DOCKER_GEN_WAIT=500ms:2s" \
44
65
--env " TEST_MODE=true" \
0 commit comments