Elvin Efendi
6511fa9f58
make upstream keepalive work for http
2018-09-14 19:40:54 -04:00
Zenara Daley
0e6f0bb88d
enforce ^~ location modifier when rewrite-target annotation is set
2018-09-13 10:39:52 -04:00
k8s-ci-robot
0a9db37e0f
Merge pull request #3062 from lahsivjar/issue-fix-host-header
...
Pass Host header for custom errors
2018-09-09 09:51:13 -07:00
Vishal Raj
4e14b809df
Pass Host header for custom errors
2018-09-09 19:39:10 +08:00
Lei Gong
e73510d818
fix some typos
...
Signed-off-by: Lei Gong <lgong@alauda.io>
2018-09-08 21:49:04 +08:00
Derek Perkins
9099f3b4db
add support for http2-max-requests in configmap
2018-09-02 23:53:30 -06:00
k8s-ci-robot
72112fe9d0
Merge pull request #2966 from Shopify/add-sticky-unit-tests
...
Add unit tests for sticky lua module
2018-08-23 20:32:16 -07:00
k8s-ci-robot
b0b575db33
Merge pull request #2965 from Shopify/dynamic-certificates-nginx
...
Add Lua module to serve SSL Certificates dynamically
2018-08-23 20:27:55 -07:00
Henry Tran
cbf041fc3e
Add Lua module to serve SSL Certificates dynamically
2018-08-23 22:15:54 -04:00
Francisco Mejia
32426b95e6
Add reset_ngx method to sticky_test.lua
2018-08-23 14:09:08 -04:00
Francisco Mejia
c7b75970ca
Refactor ngx mock and indent using 2 spaces
2018-08-23 14:02:42 -04:00
Manuel de Brito Fontes
f6905ae0ff
Pass real source IP address to auth request
2018-08-23 10:37:33 -03:00
Francisco Mejia
14145b3129
Update tests to account for balance() return value
2018-08-21 15:07:32 -04:00
Francisco Mejia
86c1b1211c
Add unit tests for sticky lua module
2018-08-21 14:22:44 -04:00
Elvin Efendi
27cd1af4a7
fix variable parsing when key is number
2018-08-21 13:42:21 -04:00
Elvin Efendi
2207d7694d
batch metrics and flush periodically
2018-08-18 13:17:21 -04:00
k8s-ci-robot
b4942ccd03
Merge pull request #2616 from Dirbaio/xff
...
Add use-forwarded-headers configmap option.
2018-08-16 16:30:08 -07:00
Elvin Efendi
7a3c8f2536
suppress stdout during lua test run
2018-08-16 14:12:33 -04:00
Elvin Efendi
589069d566
wrap IPv6 addresses into square brackets
2018-08-16 14:12:10 -04:00
Elvin Efendi
4b07e73e5d
refactor lua balancer and fix ipv6 issue
2018-08-16 13:03:41 -04:00
Dario Nieuwenhuis
b5bcb93a4b
Merge branch 'master' into xff
2018-08-16 18:15:14 +02:00
Francisco Mejia
9d26a68b17
Add Backends unit tests to configuration_test.lua
2018-08-15 15:59:26 -04:00
k8s-ci-robot
3f5af6eecf
Merge pull request #2889 from hnrytrn/dynamic-cert-endpoint
...
Add Lua endpoint to support dynamic certificate serving functionality
2018-08-13 10:49:43 -07:00
Elvin Efendi
bc37ba14e8
dont restrict status page to localhost only
2018-08-08 12:46:12 -04:00
Henry Tran
5200a38bd7
Add lua endpoint to handle certificates in dynamic configuration mode
2018-08-07 08:18:34 -04:00
Manuel Alejandro de Brito Fontes
a68820808a
Fix documentation ( #2902 )
2018-08-05 22:30:46 -04:00
k8s-ci-robot
7f7f59df79
Merge pull request #2894 from aledbf/authbind
...
Use authbind to bind privileged ports
2018-08-05 08:43:43 -07:00
Manuel de Brito Fontes
b148f113ae
Use authbind to bind privileged ports
2018-08-05 11:18:50 -04:00
k8s-ci-robot
060704c624
Merge pull request #2682 from aledbf/listen-localhost
...
Use localhost to expose status server
2018-08-04 17:16:56 -07:00
Manuel de Brito Fontes
6b2c7e08db
Use localhost to expose status server
2018-08-04 18:57:56 -04:00
Tom Reznik
b7bcf92480
support configuring multi_accept directive via configmap
2018-08-04 19:20:01 +03:00
Tom Reznik
1bacf1655e
support custom configuration to main context of nginx config
2018-08-04 00:53:06 +03:00
Elvin Efendi
a2692ce946
fix issues introduced in #2804
2018-07-26 14:23:51 -04:00
Elvin Efendi
ed19dc3bc6
fix custom-error-pages functionality in dynamic mode
2018-07-26 13:36:09 -04:00
Elvin Efendi
d4faf68416
add support for ExternalName service type in dynamic mode
2018-07-25 09:05:47 -04:00
Elvin Efendi
fcaf337b30
cleanup lua tests
2018-07-21 22:36:05 -04:00
takonomura
587c2a8765
Escape $request_uri for external auth
2018-07-19 15:22:05 +09:00
k8s-ci-robot
29ecae5b64
Merge pull request #2752 from dongqi1990/master
...
use format "range v := iterative object" and "range k, v := iterative object" when the type of iterative object is slice and map in the file nginx.tmpl
2018-07-18 04:34:20 -07:00
dongqi1990
50084b1167
use format "range v := iterative object" and "range k, v := iterative
...
object" when the type of iterative object is slice and map in the file nginx.tmpl
2018-07-18 15:02:55 +08:00
Manuel de Brito Fontes
1542a12764
Refactor controller metrics interface
2018-07-12 12:46:34 -04:00
Jason Stangroome
8e06afbb45
Allow gzip compress level to be controlled via ConfigMap
2018-07-09 10:30:59 +10:00
Manuel de Brito Fontes
479a519630
Use docker to build go binaries
2018-07-06 23:48:40 -04:00
Manuel de Brito Fontes
6c8647a27d
Remove prometheus labels with high cardinality
2018-06-25 09:43:56 -04:00
Brian Findlay
3b25f3438f
Replace more_set_headers directive with more_clear_headers
2018-06-23 10:01:33 -04:00
k8s-ci-robot
700a2275d1
Merge pull request #2678 from hnrytrn/refactor-cert
...
Refactor server type to include SSLCert
2018-06-22 12:34:04 -07:00
Manuel Alejandro de Brito Fontes
df76d4b481
Update opentracing configuration ( #2676 )
2018-06-21 18:15:18 -04:00
Henry Tran
86def984a3
Merge remote-tracking branch 'origin' into refactor-cert
2018-06-21 11:43:47 -04:00
Henry Tran
2751cbf06d
Refactor to add SSLCert as a field in server type
2018-06-21 11:34:29 -04:00
Manuel Alejandro de Brito Fontes
aec40c171f
Improve configuration change detection ( #2656 )
...
* Use information about the configuration configmap to determine changes
* Add hashstructure dependency
* Rename queue functions
* Add test for configmap checksum
2018-06-21 10:50:57 -04:00
Elvin Efendi
cb4755835e
refactor some lua code
2018-06-19 12:46:49 +04:00
Manuel Alejandro de Brito Fontes
c4ec773966
Use a unix socket instead udp for reception of metrics ( #2652 )
2018-06-17 11:04:03 -04:00
Manuel Alejandro de Brito Fontes
fee8704b53
Add support for IPV6 in stream upstream servers ( #2649 )
2018-06-15 10:26:33 -04:00
k8s-ci-robot
3cbd2d66bf
Merge pull request #2643 from aledbf/remove-vts
...
Remove VTS from the ingress controller
2018-06-14 23:59:29 -07:00
k8s-ci-robot
dfca2a0d8d
Merge pull request #2451 from nusx/set-sticky-path-for-backend
...
fix for #1930 , make sessions sticky, for ingress with multiple rules …
2018-06-14 20:47:28 -07:00
Manuel de Brito Fontes
63b38e1c21
Remove VTS from the ingress controller
2018-06-14 11:11:29 -04:00
Francisco Mejia
966e9f5e25
Add monitor lua module
2018-06-13 22:54:31 -04:00
Manuel de Brito Fontes
79199dd84c
Run as user dropping privileges
2018-06-12 10:18:36 -04:00
Stefan Schwärzler
1a320ae289
fix for #1930 , make sessions sticky, for ingress with multiple rules and backends
...
* for an ingress with session affinity cookie, set the location as path on the cookie when unique
* the previous behaviour ( cookie path=/ ) is preserved for ingresses with multiple rules for the same backend (locations not unique)
added e2e tests for session affinity, setting path on sticky config
added tests:
* it should set the path to /something on the generated cookie
* it should set the path to / on the generated cookie if there's more than one rule referring to the same backend
2018-06-11 10:43:13 +02:00
Dario Nieuwenhuis
67b253a149
Add use-forwarded-headers configmap option.
2018-06-11 00:06:14 +02:00
Dmitry Stolyarov
02ff8244a2
Add $location_path variable
...
When you define rules in ingress resource, you use path. So it would be
very useful to be able to use the same path in logs.
2018-06-07 13:43:29 +03:00
Dmitry Stolyarov
59aac73785
Add $service_port variable
...
According to TCP/IP (and common sense), $service_name is not enough to
uniquely identify service, we need $service_port for that.
2018-06-07 13:43:20 +03:00
Dmitry Stolyarov
eafb1890d6
Move vars to the very beginning of the location
...
To make it more clear, that you could use $namespace, $ingress_name and
$service_name variables anywhere in location (especialy in lua), move
their definition to the very begining of the location.
2018-06-07 13:43:09 +03:00
Paul DeCarlo
3159384480
Use lua-platform-path symlink for all platforms
2018-06-04 18:15:59 -05:00
Elvin Efendi
d4e6c0dfd8
access_log should be off for internal /configuration endpoint
2018-05-31 16:01:54 -04:00
Elvin Efendi
b4e6513fc8
make sure after_balance
is actually otional
...
add inline comment to make LB algorithm change detection logic clearer
also require port in addition to host
2018-05-28 16:08:53 -04:00
Elvin Efendi
04b7356190
fix ewma.balance and add unit tests for it
2018-05-28 15:51:58 -04:00
Elvin Efendi
da3a87646a
make sure balancer gets deleted when ther is no backend
2018-05-28 15:51:58 -04:00
Elvin Efendi
e9dc275b81
refactor balancer into more testable and extensible interface
2018-05-28 15:51:58 -04:00
k8s-ci-robot
b8b5e5bc51
Merge pull request #2548 from Stono/master
...
Implement generate-request-id
2018-05-21 13:55:12 -07:00
Karl Stoney
206d32a2cd
Implement generate-request-id
...
Fixes https://github.com/kubernetes/ingress-nginx/issues/2546
2018-05-21 08:32:50 +01:00
Lorenzo Fontana
d434583b53
InfluxDB configuration string template builder helper
...
Signed-off-by: Lorenzo Fontana <lo@linux.com>
2018-05-19 09:22:49 +02:00
Lorenzo Fontana
93be8db612
Annotations for the InfluxDB Module
...
Signed-off-by: Lorenzo Fontana <lo@linux.com>
2018-05-19 09:22:46 +02:00
Fernando Diaz
e224259e38
Resolves issue with proxy-redirect nginx configuration
...
Resolves an issue where the proxy-redirect annotations were not generating the
correct configuration possibly because of user error. This is done by only
setting the proxy_redirect if both proxy-redirect-from and proxy-redirect-to
have valid values. Also adds the e2e tests.
Fixes #2074
2018-05-17 11:22:31 -05:00
Manuel de Brito Fontes
ff3e182350
Add support for grpc_set_header
2018-05-17 08:35:11 -04:00
Elvin Efendi
7ac4e1db30
fix bug with lua sticky session implementation and refactor balancer
2018-05-16 21:00:39 -04:00
Elvin Efendi
44ddd8abba
force backend sync when worker starts
2018-05-14 17:08:23 -04:00
Elvin Efendi
992a68de23
upstream-hash-by should override load-balance annotation
2018-05-10 13:47:19 -04:00
Elvin Efendi
6cb28e059c
use roundrobin from lua-resty-balancer library and refactor balancer.lua
2018-05-10 13:47:19 -04:00
Elvin Efendi
51cf184c51
always use x-request-id
2018-04-28 00:31:23 -04:00
Elvin Efendi
2ce9196ecf
upstream-hash-by annotation support for dynamic configuraton mode
2018-04-27 14:28:43 -04:00
JordanP
c995031ffd
Add annotation to enable rewrite logs in a location
2018-04-27 17:50:14 +02:00
Adam Netočný
8b6f043fd8
Add buffer configuration to external auth location config
2018-04-26 16:04:12 +02:00
k8s-ci-robot
9533aa45cc
Merge pull request #2408 from Shopify/updated-buffered-backends
...
Read backends data even if buffered to temp file
2018-04-24 14:09:02 -07:00
Andrew Louis
d3d383d1cc
Endpoint Awareness: Read backends data from tmp file as well
...
Actually read from the file
Logs probably shouldn't assume knowledge of implementation detail
Typos
Added integration test, and dynamic update config refactor
Don't force the 8k default
Minimal test case to make the configuration/backends request body write to temp file
Leverage new safe config updating methods, and use 2 replicas instead of 4
Small refactor
Better integration test, addresses other feedback
Update bindata
2018-04-24 15:07:59 -04:00
Zenara Daley
0d0d33aec9
add balancer unit tests
2018-04-24 12:10:57 -04:00
Zenara Daley
4f9865529a
Add busted unit testing framework for lua code
2018-04-23 10:46:28 -04:00
Nick Novitski
8886b8a50e
Add vts-sum-key config flag
2018-04-17 11:39:32 -07:00
Giancarlo Rubio
c60ed24f4b
Detect if header injected request_id before creating one
2018-04-17 15:49:35 +02:00
Bastian Hofmann
1c17962ba0
Add proxy-add-original-uri-header config flag
...
This makes it configurable if a location adds an X-Original-Uri header to the backend request. Default is "true", the current behaviour.
2018-04-16 12:34:26 +02:00
k8s-ci-robot
8855460817
Merge pull request #2341 from Shopify/custom-sticky
...
Add session affinity to custom load balancing
2018-04-12 17:22:59 -07:00
Zenara Daley
4b11fe4d25
Fix nginx template
2018-04-12 15:43:13 -04:00
Zenara Daley
6ed256dde6
Add session affinity to custom load balancing
2018-04-12 14:21:42 -04:00
Zenara Daley
4b76ad14bb
Fix buildupstream name to work with dynamic session affinity
2018-04-12 14:01:46 -04:00
oilbeater
1be1f658b4
disable lua for arch s390x and ppc64le
...
LuaJIT is not available for s390x and ppc64le, disable the lua part in nginx.tmpl on these platform.
2018-04-12 08:30:56 +08:00
Elvin Efendi
d6eb44376d
run lua-resty-waf in different modes ( #2317 )
...
* run lua-resty-waf in different modes
* update docs
2018-04-09 09:19:13 -03:00
Elvin Efendi
bad8295a42
extra waf rules per ingress ( #2315 )
...
* extra waf rules per ingress
* document annotation nginx.ingress.kubernetes.io/lua-resty-waf-extra-rules
* regenerate internal/file/bindata.go
2018-04-09 07:14:30 -03:00
Elvin Efendi
16faf309ca
annotation to ignore given list of WAF rulesets ( #2314 )
2018-04-08 22:55:23 -03:00
Elvin Efendi
a6fe800a47
lua-resty-waf controller ( #2304 )
2018-04-08 17:37:13 -03:00
Manuel Alejandro de Brito Fontes
b17ed7b6fd
Configure upload limits for setup of lua load balancer ( #2309 )
2018-04-08 15:47:49 -03:00
Manuel Alejandro de Brito Fontes
1c65320618
Add verification of lua load balancer to health check ( #2308 )
2018-04-08 15:24:37 -03:00