-
Notifications
You must be signed in to change notification settings - Fork 0
/
nginx.conf
100 lines (76 loc) · 2.83 KB
/
nginx.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log debug;
error_log /dev/stdout debug;
#pid logs/nginx.pid;
env NGINX_ENV;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
# See Move default writable paths to a dedicated directory (#119)
# https://github.com/openresty/docker-openresty/issues/119
client_body_temp_path /var/run/openresty/nginx-client-body;
proxy_temp_path /var/run/openresty/nginx-proxy;
fastcgi_temp_path /var/run/openresty/nginx-fastcgi;
uwsgi_temp_path /var/run/openresty/nginx-uwsgi;
scgi_temp_path /var/run/openresty/nginx-scgi;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
location /slack {
resolver 8.8.8.8;
default_type "application/json";
content_by_lua_block {
local cjson = require "cjson"
local http = require "resty.http"
local resty_env = require 'resty.env'
ngx.req.read_body()
local data = ngx.req.get_body_data()
local json_table = cjson.decode(data)
local gitsync_hash = ngx.req.get_headers()['gitsync-hash'] or ''
local NGINX_ENV = string.upper(resty_env.get('NGINX_ENV'))
local attachments = {
{
color = "#1d9bd1",
fields = {
{
title = "Airflow Dags (" .. NGINX_ENV .. ") updated",
value = "Cluster is updated with <https://github.com/Isaacwhyuenac/openrusty-nginx-lua-send-slack-message|latest dags>",
},
{
title = "Commit",
value = gitsync_hash
},
},
mrkdwn_in = {
"text"
},
}
}
setmetatable(attachments, cjson.array_mt)
local slack_message = cjson.encode({
channel = "#alert-data-deploy",
username = "Airflow Dags Git-Sync Deployer",
icon_emoji = ":airflow:",
attachments = attachments,
env_var = NGINX_ENV
})
ngx.status = ngx.HTTP_OK
ngx.say(slack_message)
}
}
}
include /etc/nginx/conf.d/*.conf;
}