Refactor build of docker images
This commit is contained in:
parent
8e2eebb197
commit
ea8e711d2c
21 changed files with 89 additions and 183 deletions
14
images/echo/rootfs/Dockerfile
Normal file
14
images/echo/rootfs/Dockerfile
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
FROM quay.io/kubernetes-ingress-controller/nginx:e3c49c52f4b74fe47ad65d6f3266a02e8b6b622f
|
||||
|
||||
RUN apk add -U perl curl make unzip
|
||||
|
||||
RUN wget -O /tmp/luarocks.tgz https://github.com/luarocks/luarocks/archive/v3.3.1.tar.gz \
|
||||
&& tar -C /tmp -xzf /tmp/luarocks.tgz \
|
||||
&& cd /tmp/luarocks* \
|
||||
&& ./configure \
|
||||
&& make install \
|
||||
&& rm -rf /tmp/*
|
||||
|
||||
RUN luarocks install lua-resty-template
|
||||
|
||||
COPY nginx.conf /etc/nginx/nginx.conf
|
||||
91
images/echo/rootfs/nginx.conf
Normal file
91
images/echo/rootfs/nginx.conf
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
env HOSTNAME;
|
||||
env NODE_NAME;
|
||||
env POD_NAME;
|
||||
env POD_NAMESPACE;
|
||||
env POD_IP;
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
http {
|
||||
default_type 'text/plain';
|
||||
client_max_body_size 0;
|
||||
|
||||
init_by_lua_block {
|
||||
local template = require "resty.template"
|
||||
|
||||
tmpl = template.compile([[
|
||||
|
||||
Hostname: {*os.getenv("HOSTNAME") or "N/A"*}
|
||||
|
||||
Pod Information:
|
||||
{% if os.getenv("POD_NAME") then %}
|
||||
node name: {*os.getenv("NODE_NAME") or "N/A"*}
|
||||
pod name: {*os.getenv("POD_NAME") or "N/A"*}
|
||||
pod namespace: {*os.getenv("POD_NAMESPACE") or "N/A"*}
|
||||
pod IP: {*os.getenv("POD_IP") or "N/A"*}
|
||||
{% else %}
|
||||
-no pod information available-
|
||||
{% end %}
|
||||
|
||||
Server values:
|
||||
server_version=nginx: {*ngx.var.nginx_version*} - lua: {*ngx.config.ngx_lua_version*}
|
||||
|
||||
Request Information:
|
||||
client_address={*ngx.var.remote_addr*}
|
||||
method={*ngx.req.get_method()*}
|
||||
real path={*ngx.var.request_uri*}
|
||||
query={*ngx.var.query_string or ""*}
|
||||
request_version={*ngx.req.http_version()*}
|
||||
request_scheme={*ngx.var.scheme*}
|
||||
request_uri={*ngx.var.scheme.."://"..ngx.var.host..":"..ngx.var.server_port..ngx.var.request_uri*}
|
||||
|
||||
Request Headers:
|
||||
{% for i, key in ipairs(keys) do %}
|
||||
{% local val = headers[key] %}
|
||||
{% if type(val) == "table" then %}
|
||||
{% for i = 1,#val do %}
|
||||
{*key*}={*val[i]*}
|
||||
{% end %}
|
||||
{% else %}
|
||||
{*key*}={*val*}
|
||||
{% end %}
|
||||
{% end %}
|
||||
|
||||
Request Body:
|
||||
{*ngx.var.request_body or " -no body in request-"*}
|
||||
]])
|
||||
}
|
||||
|
||||
server {
|
||||
listen 80 default_server reuseport;
|
||||
|
||||
server_name _;
|
||||
|
||||
keepalive_timeout 620s;
|
||||
|
||||
location / {
|
||||
lua_need_request_body on;
|
||||
|
||||
header_filter_by_lua_block {
|
||||
if ngx.var.arg_hsts == "true" then
|
||||
ngx.header["Strict-Transport-Security"] = "max-age=3600; preload"
|
||||
end
|
||||
}
|
||||
|
||||
content_by_lua_block {
|
||||
ngx.header["Server"] = "echoserver"
|
||||
|
||||
local headers = ngx.req.get_headers()
|
||||
local keys = {}
|
||||
for key, val in pairs(headers) do
|
||||
table.insert(keys, key)
|
||||
end
|
||||
table.sort(keys)
|
||||
|
||||
ngx.say(tmpl({os=os, ngx=ngx, keys=keys, headers=headers}))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue