1
0

Compare commits

..

No commits in common. "fe1ef64e67722e8b14f955bfa2db5204acf819d2" and "ad28448d0c1e7c2cb53820760d6d034470ff0ce3" have entirely different histories.

52 changed files with 111 additions and 135 deletions

View File

@ -26,6 +26,6 @@ env {{ k }};
## ##
{%- for k in c_vars_override %} {%- for k in c_vars_override %}
{#- {%- set v = c_env[k] %} #} {#- {%- set v = c_env[k] %} #}
## env {{ k }}={{ c_env[k] | ngx_esc }}; ## env {{ k }}={{ c_env[k].__repr__() }};
{%- endfor %} {%- endfor %}
{%- endif %} {%- endif %}

View File

@ -1 +0,0 @@
include snip.d/http-alt-svc;

View File

@ -1,4 +1,3 @@
## sourced by autoconf.d/http-alt-svc.conf
{#- prologue -#} {#- prologue -#}
{%- set extra_proto = ['v3', 'v2'] -%} {%- set extra_proto = ['v3', 'v2'] -%}
{%- set confload = ( env.NGX_HTTP_CONFLOAD or '' ) | str_split_to_list -%} {%- set confload = ( env.NGX_HTTP_CONFLOAD or '' ) | str_split_to_list -%}
@ -8,5 +7,6 @@
{%- set proto = proto | re_sub('^v3$', 'h3=":443"; ma=3600') -%} {%- set proto = proto | re_sub('^v3$', 'h3=":443"; ma=3600') -%}
{#- main part -#} {#- main part -#}
{%- if proto %} {%- if proto %}
add_header Alt-Svc {{ (proto | join(', ')) | ngx_esc }}; {#- TODO: precise quotation #}
add_header Alt-Svc {{ (proto | join(', ')).__repr__() }};
{%- endif %} {%- endif %}

View File

@ -11,7 +11,7 @@ map $http_user_agent
default $http_user_agent; default $http_user_agent;
{%- if env.NGX_HTTP_FAKE_UA %} {%- if env.NGX_HTTP_FAKE_UA %}
## merely fake ## merely fake
"" {{ env.NGX_HTTP_FAKE_UA | ngx_esc }}; "" {{ env.NGX_HTTP_FAKE_UA.__repr__() }};
{%- else %} {%- else %}
"" "Angie/$angie_version"; "" "Angie/$angie_version";
{%- endif %} {%- endif %}

View File

@ -1 +0,0 @@
include snip.d/http-response-headers;

View File

@ -1,6 +1,6 @@
## sourced by autoconf.d/http-response-headers.conf
## add response headers ## add response headers
{%- set resp_hdr_dict = j2cfg.response_headers or {} -%} {%- set resp_hdr_dict = j2cfg.response_headers or {} -%}
{%- for h, v in resp_hdr_dict.items() %} {%- for h, v in resp_hdr_dict.items() %}
add_header {{ h }} {{ v | ngx_esc }}; {#- TODO: precise quotation #}
add_header {{ h }} {{ v.__repr__() }};
{%- endfor %} {%- endfor %}

View File

@ -1,14 +1,15 @@
{#- TODO: precise quotation -#}
{%- set cache_bypass = j2cfg.cache_bypass or [] -%} {%- set cache_bypass = j2cfg.cache_bypass or [] -%}
{%- if cache_bypass -%} {%- if cache_bypass -%}
## disable (response) cache under following conditions ## disable (response) cache under following conditions
fastcgi_cache_bypass fastcgi_cache_bypass
{%- for v in cache_bypass %} {%- for v in cache_bypass %}
{{ v | ngx_esc }} {{ v.__repr__() }}
{%- endfor %} {%- endfor %}
; ;
fastcgi_no_cache fastcgi_no_cache
{%- for v in cache_bypass %} {%- for v in cache_bypass %}
{{ v | ngx_esc }} {{ v.__repr__() }}
{%- endfor %} {%- endfor %}
; ;
{%- endif -%} {%- endif -%}

View File

@ -1,2 +0,0 @@
include snip.d/fastcgi-request-headers;
include snip.d/fastcgi-response-headers;

View File

@ -0,0 +1,13 @@
## hide/remove request headers
{%- set req_hdr_dict = j2cfg.request_headers or {} -%}
{%- for h, v in req_hdr_dict.items() %}
{#- TODO: precise quotation #}
fastcgi_param {{ h | as_cgi_header }} {{ v.__repr__() }};
{%- endfor %}
## hide response headers
{%- set resp_hdr_dict = j2cfg.response_headers or {} -%}
{%- set resp_hdr_list = resp_hdr_dict | dict_keys -%}
{%- for h in resp_hdr_list %}
fastcgi_hide_header {{ h }};
{%- endfor %}

View File

@ -1,2 +0,0 @@
include snip.d/grpc-request-headers;
include snip.d/grpc-response-headers;

View File

@ -0,0 +1,13 @@
## hide/remove request headers
{%- set req_hdr_dict = j2cfg.request_headers or {} -%}
{%- for h, v in req_hdr_dict.items() %}
{#- TODO: precise quotation #}
grpc_set_header {{ h }} {{ v.__repr__() }};
{%- endfor %}
## hide response headers
{%- set resp_hdr_dict = j2cfg.response_headers or {} -%}
{%- set resp_hdr_list = resp_hdr_dict | dict_keys -%}
{%- for h in resp_hdr_list %}
grpc_hide_header {{ h }};
{%- endfor %}

View File

@ -1,5 +1,6 @@
{%- for k, v in j2cfg.tls.conf_cmd.items() %} {%- for k, v in j2cfg.tls.conf_cmd.items() %}
grpc_ssl_conf_command {{ k }} {{ v | ngx_esc }}; {#- TODO: precise quotation #}
grpc_ssl_conf_command {{ k }} {{ v.__repr__() }};
{%- endfor %} {%- endfor %}
grpc_ssl_trusted_certificate {{ env.NGX_SSL_CERT_FILE }}; grpc_ssl_trusted_certificate {{ env.NGX_SSL_CERT_FILE }};

View File

@ -15,10 +15,12 @@ ssl_stapling_verify on;
ssl_stapling_verify off; ssl_stapling_verify off;
{%- endif %} {%- endif %}
{%- if j2cfg.tls.stapling.file %} {%- if j2cfg.tls.stapling.file %}
ssl_stapling_file {{ j2cfg.tls.stapling.file | ngx_esc }}; {#- TODO: precise quotation #}
ssl_stapling_file {{ j2cfg.tls.stapling.file.__repr__() }};
{%- endif %} {%- endif %}
{%- if j2cfg.tls.stapling.responder %} {%- if j2cfg.tls.stapling.responder %}
ssl_stapling_responder {{ j2cfg.tls.stapling.responder | ngx_esc }}; {#- TODO: precise quotation #}
ssl_stapling_responder {{ j2cfg.tls.stapling.responder.__repr__() }};
{%- endif %} {%- endif %}
{%- else %} {%- else %}
ssl_stapling off; ssl_stapling off;

View File

@ -1,14 +1,15 @@
{#- TODO: precise quotation -#}
{%- set cache_bypass = j2cfg.cache_bypass or [] -%} {%- set cache_bypass = j2cfg.cache_bypass or [] -%}
{%- if cache_bypass -%} {%- if cache_bypass -%}
## disable (response) cache under following conditions ## disable (response) cache under following conditions
proxy_cache_bypass proxy_cache_bypass
{%- for v in cache_bypass %} {%- for v in cache_bypass %}
{{ v | ngx_esc }} {{ v.__repr__() }}
{%- endfor %} {%- endfor %}
; ;
proxy_no_cache proxy_no_cache
{%- for v in cache_bypass %} {%- for v in cache_bypass %}
{{ v | ngx_esc }} {{ v.__repr__() }}
{%- endfor %} {%- endfor %}
; ;
{%- endif -%} {%- endif -%}

View File

@ -1,2 +0,0 @@
include snip.d/proxy-request-headers;
include snip.d/proxy-response-headers;

View File

@ -0,0 +1,13 @@
## hide/remove request headers
{%- set req_hdr_dict = j2cfg.request_headers or {} -%}
{%- for h, v in req_hdr_dict.items() %}
{#- TODO: precise quotation #}
proxy_set_header {{ h }} {{ v.__repr__() }};
{%- endfor %}
## hide response headers
{%- set resp_hdr_dict = j2cfg.response_headers or {} -%}
{%- set resp_hdr_list = resp_hdr_dict | dict_keys -%}
{%- for h in resp_hdr_list %}
proxy_hide_header {{ h }};
{%- endfor %}

View File

@ -1,5 +1,6 @@
{%- for k, v in j2cfg.tls.conf_cmd.items() %} {%- for k, v in j2cfg.tls.conf_cmd.items() %}
proxy_ssl_conf_command {{ k }} {{ v | ngx_esc }}; {#- TODO: precise quotation #}
proxy_ssl_conf_command {{ k }} {{ v.__repr__() }};
{%- endfor %} {%- endfor %}
proxy_ssl_trusted_certificate {{ env.NGX_SSL_CERT_FILE }}; proxy_ssl_trusted_certificate {{ env.NGX_SSL_CERT_FILE }};

View File

@ -1,14 +1,15 @@
{#- TODO: precise quotation -#}
{%- set cache_bypass = j2cfg.cache_bypass or [] -%} {%- set cache_bypass = j2cfg.cache_bypass or [] -%}
{%- if cache_bypass -%} {%- if cache_bypass -%}
## disable (response) cache under following conditions ## disable (response) cache under following conditions
scgi_cache_bypass scgi_cache_bypass
{%- for v in cache_bypass %} {%- for v in cache_bypass %}
{{ v | ngx_esc }} {{ v.__repr__() }}
{%- endfor %} {%- endfor %}
; ;
scgi_no_cache scgi_no_cache
{%- for v in cache_bypass %} {%- for v in cache_bypass %}
{{ v | ngx_esc }} {{ v.__repr__() }}
{%- endfor %} {%- endfor %}
; ;
{%- endif -%} {%- endif -%}

View File

@ -1,2 +0,0 @@
include snip.d/scgi-request-headers;
include snip.d/scgi-response-headers;

View File

@ -0,0 +1,13 @@
## hide/remove request headers
{%- set req_hdr_dict = j2cfg.request_headers or {} -%}
{%- for h, v in req_hdr_dict.items() %}
{#- TODO: precise quotation #}
scgi_param {{ h | as_cgi_header }} {{ v.__repr__() }};
{%- endfor %}
## hide response headers
{%- set resp_hdr_dict = j2cfg.response_headers or {} -%}
{%- set resp_hdr_list = resp_hdr_dict | dict_keys -%}
{%- for h in resp_hdr_list %}
scgi_hide_header {{ h }};
{%- endfor %}

View File

@ -1,3 +1,4 @@
{%- for k, v in j2cfg.tls.conf_cmd.items() %} {%- for k, v in j2cfg.tls.conf_cmd.items() %}
ssl_conf_command {{ k }} {{ v | ngx_esc }}; {#- TODO: precise quotation #}
ssl_conf_command {{ k }} {{ v.__repr__() }};
{%- endfor %} {%- endfor %}

View File

@ -1,14 +1,15 @@
{#- TODO: precise quotation -#}
{%- set cache_bypass = j2cfg.cache_bypass or [] -%} {%- set cache_bypass = j2cfg.cache_bypass or [] -%}
{%- if cache_bypass -%} {%- if cache_bypass -%}
## disable (response) cache under following conditions ## disable (response) cache under following conditions
uwsgi_cache_bypass uwsgi_cache_bypass
{%- for v in cache_bypass %} {%- for v in cache_bypass %}
{{ v | ngx_esc }} {{ v.__repr__() }}
{%- endfor %} {%- endfor %}
; ;
uwsgi_no_cache uwsgi_no_cache
{%- for v in cache_bypass %} {%- for v in cache_bypass %}
{{ v | ngx_esc }} {{ v.__repr__() }}
{%- endfor %} {%- endfor %}
; ;
{%- endif -%} {%- endif -%}

View File

@ -1,2 +0,0 @@
include snip.d/uwsgi-request-headers;
include snip.d/uwsgi-response-headers;

View File

@ -0,0 +1,13 @@
## hide/remove request headers
{%- set req_hdr_dict = j2cfg.request_headers or {} -%}
{%- for h, v in req_hdr_dict.items() %}
{#- TODO: precise quotation #}
uwsgi_param {{ h | as_cgi_header }} {{ v.__repr__() }};
{%- endfor %}
## hide response headers
{%- set resp_hdr_dict = j2cfg.response_headers or {} -%}
{%- set resp_hdr_list = resp_hdr_dict | dict_keys -%}
{%- for h in resp_hdr_list %}
uwsgi_hide_header {{ h }};
{%- endfor %}

View File

@ -1,5 +1,6 @@
{%- for k, v in j2cfg.tls.conf_cmd.items() %} {%- for k, v in j2cfg.tls.conf_cmd.items() %}
uwsgi_ssl_conf_command {{ k }} {{ v | ngx_esc }}; {#- TODO: precise quotation #}
uwsgi_ssl_conf_command {{ k }} {{ v.__repr__() }};
{%- endfor %} {%- endfor %}
uwsgi_ssl_trusted_certificate {{ env.NGX_SSL_CERT_FILE }}; uwsgi_ssl_trusted_certificate {{ env.NGX_SSL_CERT_FILE }};

View File

@ -1,6 +0,0 @@
## sourced by conf.d/fastcgi/headers.conf
## set/remove request headers
{%- set req_hdr_dict = j2cfg.request_headers or {} -%}
{%- for h, v in req_hdr_dict.items() %}
fastcgi_param {{ h | as_cgi_header }} {{ v | ngx_esc }};
{%- endfor %}

View File

@ -1,7 +0,0 @@
## sourced by conf.d/fastcgi/headers.conf
## hide response headers
{%- set resp_hdr_dict = j2cfg.response_headers or {} -%}
{%- set resp_hdr_list = resp_hdr_dict | dict_keys -%}
{%- for h in resp_hdr_list %}
fastcgi_hide_header {{ h }};
{%- endfor %}

View File

@ -1,6 +0,0 @@
## sourced by conf.d/grpc/headers.conf
## set/remove request headers
{%- set req_hdr_dict = j2cfg.request_headers or {} -%}
{%- for h, v in req_hdr_dict.items() %}
grpc_set_header {{ h }} {{ v | ngx_esc }};
{%- endfor %}

View File

@ -1,7 +0,0 @@
## sourced by conf.d/grpc/headers.conf
## hide response headers
{%- set resp_hdr_dict = j2cfg.response_headers or {} -%}
{%- set resp_hdr_list = resp_hdr_dict | dict_keys -%}
{%- for h in resp_hdr_list %}
grpc_hide_header {{ h }};
{%- endfor %}

View File

@ -1,6 +0,0 @@
## sourced by conf.d/proxy-http/headers.conf
## set/remove request headers
{%- set req_hdr_dict = j2cfg.request_headers or {} -%}
{%- for h, v in req_hdr_dict.items() %}
proxy_set_header {{ h }} {{ v | ngx_esc }};
{%- endfor %}

View File

@ -1,7 +0,0 @@
## sourced by conf.d/proxy-http/headers.conf
## hide response headers
{%- set resp_hdr_dict = j2cfg.response_headers or {} -%}
{%- set resp_hdr_list = resp_hdr_dict | dict_keys -%}
{%- for h in resp_hdr_list %}
proxy_hide_header {{ h }};
{%- endfor %}

View File

@ -1,6 +0,0 @@
## sourced by conf.d/scgi/headers.conf
## set/remove request headers
{%- set req_hdr_dict = j2cfg.request_headers or {} -%}
{%- for h, v in req_hdr_dict.items() %}
scgi_param {{ h | as_cgi_header }} {{ v | ngx_esc }};
{%- endfor %}

View File

@ -1,7 +0,0 @@
## sourced by conf.d/scgi/headers.conf
## hide response headers
{%- set resp_hdr_dict = j2cfg.response_headers or {} -%}
{%- set resp_hdr_list = resp_hdr_dict | dict_keys -%}
{%- for h in resp_hdr_list %}
scgi_hide_header {{ h }};
{%- endfor %}

View File

@ -1,6 +0,0 @@
## sourced by conf.d/uwsgi/headers.conf
## set/remove request headers
{%- set req_hdr_dict = j2cfg.request_headers or {} -%}
{%- for h, v in req_hdr_dict.items() %}
uwsgi_param {{ h | as_cgi_header }} {{ v | ngx_esc }};
{%- endfor %}

View File

@ -1,7 +0,0 @@
## sourced by conf.d/uwsgi/headers.conf
## hide response headers
{%- set resp_hdr_dict = j2cfg.response_headers or {} -%}
{%- set resp_hdr_list = resp_hdr_dict | dict_keys -%}
{%- for h in resp_hdr_list %}
uwsgi_hide_header {{ h }};
{%- endfor %}

View File

@ -2,7 +2,7 @@
set -ef set -ef
cd "$(dirname "$0")/.." cd "$(dirname "$0")/.."
IMAGE_VERSION="${IMAGE_VERSION:-v0.0.5}" IMAGE_VERSION="${IMAGE_VERSION:-v0.0.4}"
set -a set -a
BUILDAH_FORMAT="${BUILDAH_FORMAT:-docker}" BUILDAH_FORMAT="${BUILDAH_FORMAT:-docker}"

View File

@ -2,7 +2,7 @@
set -ef set -ef
cd "$(dirname "$0")/.." cd "$(dirname "$0")/.."
IMAGE_VERSION="${IMAGE_VERSION:-v0.0.5}" IMAGE_VERSION="${IMAGE_VERSION:-v0.0.4}"
set -a set -a
BUILDAH_FORMAT="${BUILDAH_FORMAT:-docker}" BUILDAH_FORMAT="${BUILDAH_FORMAT:-docker}"

View File

@ -2,7 +2,7 @@
set -ef set -ef
cd "$(dirname "$0")/.." cd "$(dirname "$0")/.."
IMAGE_VERSION="${IMAGE_VERSION:-v0.0.5}" IMAGE_VERSION="${IMAGE_VERSION:-v0.0.4}"
set -a set -a
BUILDAH_FORMAT="${BUILDAH_FORMAT:-docker}" BUILDAH_FORMAT="${BUILDAH_FORMAT:-docker}"

View File

@ -1,4 +1,4 @@
FROM docker.io/rockdrilla/angie-conv:v0.0.5 FROM docker.io/rockdrilla/angie-conv:v0.0.4
SHELL [ "/bin/sh", "-ec" ] SHELL [ "/bin/sh", "-ec" ]
COPY /site/ /etc/angie/site/ COPY /site/ /etc/angie/site/

View File

@ -11,7 +11,7 @@ server {
Dockerfile: Dockerfile:
```dockerfile ```dockerfile
FROM docker.io/rockdrilla/angie-conv:v0.0.5 FROM docker.io/rockdrilla/angie-conv:v0.0.4
COPY /site/ /etc/angie/site/ COPY /site/ /etc/angie/site/
COPY /static/ /etc/angie/static/ COPY /static/ /etc/angie/static/

View File

@ -58,7 +58,7 @@ services:
my-cache: my-cache:
container_name: my-cache container_name: my-cache
image: docker.io/rockdrilla/angie-conv:v0.0.5 image: docker.io/rockdrilla/angie-conv:v0.0.4
restart: always restart: always
privileged: true privileged: true
stop_grace_period: 15s stop_grace_period: 15s

View File

@ -4,7 +4,7 @@ services:
my-cache: my-cache:
container_name: my-cache container_name: my-cache
image: docker.io/rockdrilla/angie-conv:v0.0.5 image: docker.io/rockdrilla/angie-conv:v0.0.4
restart: always restart: always
privileged: true privileged: true
stop_grace_period: 15s stop_grace_period: 15s

View File

@ -1,4 +1,4 @@
FROM docker.io/rockdrilla/angie-conv:v0.0.5 FROM docker.io/rockdrilla/angie-conv:v0.0.4
SHELL [ "/bin/sh", "-ec" ] SHELL [ "/bin/sh", "-ec" ]
COPY /site/ /etc/angie/site/ COPY /site/ /etc/angie/site/

View File

@ -3,7 +3,7 @@
Dockerfile: Dockerfile:
```dockerfile ```dockerfile
FROM docker.io/rockdrilla/angie-conv:v0.0.5 FROM docker.io/rockdrilla/angie-conv:v0.0.4
COPY /site/ /etc/angie/site/ COPY /site/ /etc/angie/site/

View File

@ -1,4 +1,4 @@
FROM docker.io/rockdrilla/angie-conv:v0.0.5 FROM docker.io/rockdrilla/angie-conv:v0.0.4
SHELL [ "/bin/sh", "-ec" ] SHELL [ "/bin/sh", "-ec" ]
COPY /site/ /etc/angie/site/ COPY /site/ /etc/angie/site/

View File

@ -3,7 +3,7 @@
Dockerfile: Dockerfile:
```dockerfile ```dockerfile
FROM docker.io/rockdrilla/angie-conv:v0.0.5 FROM docker.io/rockdrilla/angie-conv:v0.0.4
COPY /site/ /etc/angie/site/ COPY /site/ /etc/angie/site/

View File

@ -1,4 +1,4 @@
FROM docker.io/rockdrilla/angie-conv:v0.0.5 FROM docker.io/rockdrilla/angie-conv:v0.0.4
SHELL [ "/bin/sh", "-ec" ] SHELL [ "/bin/sh", "-ec" ]
COPY /site/ /etc/angie/site/ COPY /site/ /etc/angie/site/

View File

@ -3,7 +3,7 @@
Dockerfile: Dockerfile:
```dockerfile ```dockerfile
FROM docker.io/rockdrilla/angie-conv:v0.0.5 FROM docker.io/rockdrilla/angie-conv:v0.0.4
COPY /site/ /etc/angie/site/ COPY /site/ /etc/angie/site/
COPY /static/ /etc/angie/static/ COPY /static/ /etc/angie/static/

View File

@ -1,4 +1,4 @@
FROM docker.io/rockdrilla/angie-conv:v0.0.5 FROM docker.io/rockdrilla/angie-conv:v0.0.4
SHELL [ "/bin/sh", "-ec" ] SHELL [ "/bin/sh", "-ec" ]
COPY /site/ /etc/angie/site/ COPY /site/ /etc/angie/site/

View File

@ -13,7 +13,7 @@ server {
Dockerfile: Dockerfile:
```dockerfile ```dockerfile
FROM docker.io/rockdrilla/angie-conv:v0.0.5 FROM docker.io/rockdrilla/angie-conv:v0.0.4
COPY /site/ /etc/angie/site/ COPY /site/ /etc/angie/site/
COPY /static/ /etc/angie/static/ COPY /static/ /etc/angie/static/

View File

@ -240,27 +240,6 @@ def sh_like_file_to_list(j2env, file_in: str) -> list:
)) ))
def ngx_esc(x):
if isinstance(x, str):
if x == "":
return "''"
if re.search(r'(?:\s|[;{}()\[\]\\\'"])', x):
return repr(x)
return x
if is_sequence(x):
return uniq([
ngx_esc(v)
for v in x
])
if is_mapping(x):
return dict_remap_keys(
x, ngx_esc
)
if x is None:
return None
return ngx_esc(str(x))
def merge_dict_recurse(d1, d2: dict) -> dict: def merge_dict_recurse(d1, d2: dict) -> dict:
x = {} | d1 x = {} | d1
@ -311,7 +290,6 @@ J2CFG_FILTERS = [
is_sequence, is_sequence,
list_diff, list_diff,
list_intersect, list_intersect,
ngx_esc,
re_fullmatch, re_fullmatch,
re_fullmatch_negate, re_fullmatch_negate,
re_match, re_match,

View File

@ -1,5 +1,5 @@
jinja2==3.1.4 jinja2==3.1.4
netaddr==1.3.0 netaddr==1.3.0
psutil==6.1.0 psutil==6.0.0
pyyaml==6.0.2 pyyaml==6.0.2
wcmatch==10.0 wcmatch==10.0