improve jinja2 template for env retention
This commit is contained in:
parent
c1e2d8d319
commit
a747fbe080
@ -1,3 +1,34 @@
|
||||
{% for v in os.getenv('NGX_CORE_ENV', '').split(sep=' ') -%}
|
||||
{#- prologue -#}
|
||||
{%- set penv = [] -%}
|
||||
{%- if cfg.preserve_env -%}
|
||||
{%- set penv = cfg.preserve_env -%}
|
||||
{%- if penv is string -%}
|
||||
{%- set penv = [penv] -%}
|
||||
{%- elif penv is iterable -%}
|
||||
{#- {%- set penv = penv -%} -#}
|
||||
{%- else -%}
|
||||
{%- set penv = [penv|string()] -%}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- set have = namespace() -%}
|
||||
{%- set have.tz = false -%}
|
||||
{%- set have.malloc_arena = false -%}
|
||||
{#- scan -#}
|
||||
{%- for v in penv -%}
|
||||
{%- set have.tz = have.tz or re.match('TZ(=|$)', v|string()) -%}
|
||||
{%- set have.malloc_arena = have.malloc_arena or re.match('MALLOC_ARENA_MAX(=|$)', v|string()) -%}
|
||||
{%- endfor -%}
|
||||
{#- main part -#}
|
||||
{%- if not have.tz -%}
|
||||
env TZ;
|
||||
{% endif %}
|
||||
{%- if not have.malloc_arena -%}
|
||||
env MALLOC_ARENA_MAX;
|
||||
{% endif %}
|
||||
{%- for v in penv -%}
|
||||
{%- if re.search("(\"|'|\\s)", v|string()) %}
|
||||
env {{ (v|string()).__repr__() }};
|
||||
{%- else %}
|
||||
env {{ v }};
|
||||
{% endfor -%}
|
||||
{%- endif %}
|
||||
{%- endfor -%}
|
||||
|
@ -14,8 +14,6 @@ NGX_CORE_MODULES="${NGX_CORE_MODULES:-}"
|
||||
NGX_CORE_EVENTS_SNIPPETS="${NGX_CORE_EVENTS_SNIPPETS:-}"
|
||||
NGX_CORE_SNIPPETS="${NGX_CORE_SNIPPETS:-}"
|
||||
|
||||
NGX_CORE_ENV="${NGX_CORE_ENV:-}"
|
||||
|
||||
NGX_PROCESS_STATIC=$(gobool_to_int "${NGX_PROCESS_STATIC:-0}" 0)
|
||||
|
||||
set +a
|
||||
|
@ -1,34 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ -z "${NGX_CORE_ENV:-}" ] ; then
|
||||
NGX_CORE_ENV='TZ MALLOC_ARENA_MAX'
|
||||
else
|
||||
unset __set_f
|
||||
__set_f=
|
||||
case "${-}" in
|
||||
*f* ) __set_f=1 ;;
|
||||
esac
|
||||
[ -n "${__set_f}" ] || set -f
|
||||
|
||||
unset __env __have_tz __have_malloc
|
||||
for __env in ${NGX_CORE_ENV} ; do
|
||||
case "${__env}" in
|
||||
TZ | TZ=* )
|
||||
__have_tz=1
|
||||
;;
|
||||
MALLOC_ARENA_MAX | MALLOC_ARENA_MAX=* )
|
||||
__have_malloc=1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
unset __env
|
||||
|
||||
[ -n "${__have_malloc}" ] || NGX_CORE_ENV="MALLOC_ARENA_MAX ${NGX_CORE_ENV}"
|
||||
[ -n "${__have_tz}" ] || NGX_CORE_ENV="TZ ${NGX_CORE_ENV}"
|
||||
unset __have_tz __have_malloc
|
||||
|
||||
[ -n "${__set_f}" ] || set +f
|
||||
unset __set_f
|
||||
fi
|
||||
|
||||
export NGX_CORE_ENV
|
Loading…
Reference in New Issue
Block a user