Commit graph

290 commits

Author SHA1 Message Date
Elvin Efendi
8a67ace5c3 enable dynamic backend configuration by default 2018-07-26 15:16:06 -04:00
Elvin Efendi
a2692ce946 fix issues introduced in #2804 2018-07-26 14:23:51 -04:00
Elvin Efendi
d4faf68416 add support for ExternalName service type in dynamic mode 2018-07-25 09:05:47 -04:00
k8s-ci-robot
237dcd7aa7
Merge pull request #2811 from takonomura/escape-request-uri
Escape $request_uri for external auth
2018-07-21 02:23:38 -07:00
k8s-ci-robot
496fb9d3b8
Merge pull request #2812 from dongqi1990/bugfix--rewrite-to
modified annotation name "rewrite-to" to "rewrite-target" in comments
2018-07-19 02:38:41 -07:00
dongqi1990
568512fdb8 modified annotation name "rewrite-to" to "rewrite-target" in comments 2018-07-19 17:14:18 +08:00
takonomura
587c2a8765 Escape $request_uri for external auth 2018-07-19 15:22:05 +09:00
Fernando Diaz
c783c08d81 Remove KubeConfig Dependency for Store Tests
Removes the KubeConfig Dependency for the Store Test by using the
FakeClient Instead. Unit Tests should not rely on a real KubeConfig.

Fixes #2789
2018-07-17 11:13:41 -05:00
Fernando Diaz
52ecdf0b46 Add Better Error Handling for SSLSessionTicketKey
Adds more error handling when writing an SSLSessionTicketKey to
the config map. Also adds tests and makes the function for modular.

Fixes #2756
2018-07-15 19:53:39 -05:00
Manuel de Brito Fontes
1542a12764
Refactor controller metrics interface 2018-07-12 12:46:34 -04:00
k8s-ci-robot
bdd2c5e3be
Merge pull request #2767 from aledbf/fix-regression
Fix regression introduced in #2732
2018-07-10 08:51:25 -07:00
Manuel de Brito Fontes
601315039e Fix regression introduced in #2732 2018-07-10 10:29:45 -04:00
Manuel de Brito Fontes
14426c60b8
Fix ingress rule parsing error 2018-07-09 18:30:11 -04:00
Jason Stangroome
8e06afbb45 Allow gzip compress level to be controlled via ConfigMap 2018-07-09 10:30:59 +10:00
Mike Bryant
85d1742283 fix: Use the correct opentracing plugin for Jaeger
Part of #2738
2018-07-05 19:09:12 +01:00
Antoine Cotten
472dcb371b
Clarify log messages in controller pkg 2018-07-02 22:59:54 +02:00
Andrii Kostenko
bc53d1eb74
Sample rate configmap option for zipkin in nginx-opentracing 2018-06-28 18:13:31 +03:00
k8s-ci-robot
c0ed143fbd
Merge pull request #2368 from antoineco/fix-typos
[aggregate] Fix typos across codebase
2018-06-24 17:26:02 -07:00
Antoine Cotten
02219bdfb8
Improve best-cert guessing with empty tls.hosts 2018-06-25 01:59:50 +02:00
Antoine Cotten
130866b51c
Proofreading 2018-06-25 00:04:43 +02:00
Manuel Alejandro de Brito Fontes
0951b973c9
Fix initial read of configuration configmap (#2692) 2018-06-23 09:08:48 -04:00
k8s-ci-robot
0dbc9a2973
Merge pull request #2681 from AdamDang/patch-4
Typo fix in error message: encounted->encountered
2018-06-22 12:35:07 -07: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
AdamDang
56b74d9fac
Typo fix in error message: encounted->encountered
encounted->encountered
2018-06-22 13:59:23 +08: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
Manuel de Brito Fontes
779676145b After a configmap change parse ingress annotations (again) 2018-06-21 08:47:06 -04:00
k8s-ci-robot
da7bf10631
Merge pull request #2658 from aledbf/initial-configuration
Do not wait informer initialization to read configuration
2018-06-17 09:52:30 -07:00
Manuel de Brito Fontes
408391175f Do not wait informer initialization to read configuration 2018-06-17 12:27:12 -04:00
Manuel de Brito Fontes
f782929eb5
Remove dummy file watcher 2018-06-16 18:49:08 -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
chenqz1987
aeab7035f8 fix nginx conf test error when not found active service endpoints 2018-06-15 08:10:03 +08:00
Manuel de Brito Fontes
63b38e1c21
Remove VTS from the ingress controller 2018-06-14 11:11:29 -04:00
Francisco Mejia
2cd2da7c3f Create UDP collector that listens to UDP messages from monitor.lua and exposes them on /metrics endpoint 2018-06-13 21:31:51 -04:00
Antoine Cotten
47bea35492
Clarify log messages in controller pkg 2018-06-13 21:27:43 +02:00
Dario Nieuwenhuis
35a6d508fb Set use-forwarded-headers to true by default. 2018-06-12 21:33:34 +02:00
Manuel de Brito Fontes
7ded31d7a8
Create file permission constants 2018-06-12 11:06:14 -04:00
Manuel de Brito Fontes
79199dd84c
Run as user dropping privileges 2018-06-12 10:18:36 -04:00
Dario Nieuwenhuis
67b253a149 Add use-forwarded-headers configmap option. 2018-06-11 00:06:14 +02:00
k8s-ci-robot
fa9823634c
Merge pull request #2504 from jrthrawny/proxy-protocol-timeout-for-passthrough-pr
Add Timeout For TLS Passthrough
2018-06-03 22:54:53 -07:00
Jason Roberts
d637a9b978 Configurable Proxy Protocol header timeout for TLS passthrough 2018-06-03 20:10:41 -05:00
Manuel de Brito Fontes
f3e9292c04
Always sort upstream list to provide stable iteration order 2018-06-02 17:07:14 -04:00
AdamDang
a7a1f41702
Typo fix: successfull->successful
successfull->successful
2018-06-02 19:44:48 +08:00
Elvin Efendi
c97d6e1110 log annotation should be set for catch-all servers 2018-05-31 16:01:54 -04:00
Manuel de Brito Fontes
2023e56115
Fix default-backend annotation 2018-05-26 19:09:24 -04:00
Elvin Efendi
7d8a0130a5 use better defaults for proxy-next-upstream(-tries) 2018-05-23 21:37:56 -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
k8s-ci-robot
aa256ac887
Merge pull request #2423 from diazjf/fix-2074
Resolves issue with proxy-redirect nginx configuration
2018-05-18 12:42:51 -07:00
Giancarlo Rubio
67de29f7ab Fix lint 2018-05-18 21:15:19 +02:00
Giancarlo Rubio
14bca24202 Instrument controller to show failed configuration reload and the last time it was succeeded 2018-05-18 20:27:32 +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
Manuel de Brito Fontes
a085808d2d
Add tests for bind-address 2018-05-16 14:53:29 -04:00
Manuel de Brito Fontes
b57a7cf939 Remove warning when secret is used only for authentication 2018-05-15 08:10:29 -04:00
Elvin Efendi
6cb28e059c use roundrobin from lua-resty-balancer library and refactor balancer.lua 2018-05-10 13:47:19 -04:00
Niels Lensink
cfc7cbc824
Change TrimLeft for TrimPrefix on the from-to-www redirect 2018-05-07 13:29:04 +02:00
Elvin Efendi
51cf184c51 always use x-request-id 2018-04-28 00:31:23 -04:00
Antoine Cotten
553df8a0cc
Refactor e2e framework for TLS tests 2018-04-27 23:24:22 +02:00
k8s-ci-robot
016e647642
Merge pull request #2432 from aledbf/fix-links
Fix broken links in the docs
2018-04-27 04:33:19 -07:00
Manuel de Brito Fontes
a92bf821f9 Remove data races from tests 2018-04-27 00:02:21 -03:00
Manuel de Brito Fontes
4ddedd41a6
Fix broken links in the docs 2018-04-26 22:24:50 -03:00
Manuel de Brito Fontes
c6728aa8fa
Clean JSON before post request to update configuration 2018-04-26 15:27:27 -03:00
Manuel de Brito Fontes
9bf553559c Apply gometalinter suggestions 2018-04-25 18:53:49 -03:00
Manuel de Brito Fontes
777c637cf6
Add tests for controller getEndpoints 2018-04-22 01:24:26 -03:00
k8s-ci-robot
18a6a3051d
Merge pull request #2399 from aledbf/add-tests
Add test for store helper ListIngresses
2018-04-21 17:37:59 -07:00
Manuel de Brito Fontes
c5932366db
Add test for store helper ListIngresses 2018-04-21 21:19:14 -03:00
Manuel de Brito Fontes
04ed2d9a48
Allow tls section without hosts in Ingress rule 2018-04-21 21:14:46 -03:00
k8s-ci-robot
7625c05dfb
Merge pull request #2361 from aledbf/check-path
Check ingress rule contains HTTP paths
2018-04-20 08:07:00 -07:00
Antoine Cotten
55facfa9f5
Silence unnecessary MissingAnnotations errors 2018-04-20 16:00:33 +02:00
k8s-ci-robot
10fc2548b4
Merge pull request #2374 from aledbf/improve-tests
Remove most of the time.Sleep from the e2e tests
2018-04-19 17:52:00 -07:00
Antoine Cotten
0e8ac3077a
Accept ns/name Secret reference in annotations 2018-04-20 00:05:54 +02:00
Manuel de Brito Fontes
62a80a39ad
Remove most of the time.Sleep from the e2e tests 2018-04-19 17:48:50 -03:00
Nick Novitski
8886b8a50e Add vts-sum-key config flag 2018-04-17 11:39:32 -07:00
Manuel de Brito Fontes
c966bb8eff Check ingress rule contains HTTP paths 2018-04-17 08:32:01 -03:00
k8s-ci-robot
564ec885fb
Merge pull request #2353 from bashofmann/master
Add proxy-add-original-uri-header config flag
2018-04-16 05:46:59 -07: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
361e53ffa9
Merge pull request #2344 from aledbf/xss-base-tag
Escape variables in add-base-url annotation
2018-04-13 10:11:00 -07:00
Antoine Cotten
0a563651db
Add test for channel events with referenced secret 2018-04-13 16:36:52 +02:00
Antoine Cotten
c786f55336
Include missing secrets in secretIngressMap
Update secretIngressMap independently from stored annotations, which may
miss some secret references.
2018-04-13 16:14:36 +02:00
Antoine Cotten
fec3ddc6cc
Sync secrets (SSL certificates) on events
Remove scheduled check for missing secrets.
2018-04-13 16:14:29 +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
6ed256dde6 Add session affinity to custom load balancing 2018-04-12 14:21:42 -04:00
Zenara Daley
9198e2c14b fix make verify-all failures 2018-04-12 14:14:43 -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
a6fe800a47 lua-resty-waf controller (#2304) 2018-04-08 17:37:13 -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
Manuel Alejandro de Brito Fontes
2a02b7c35c
Fix race condition when Ingress does not contains a secret (#2300) 2018-04-06 17:44:41 -03:00
Manuel de Brito Fontes
82b6c33c25
Escape variables in add-base-url annotation 2018-04-05 20:45:49 -03:00
Sergey Lanzman
83974c32ac Update controller.go (#2285) 2018-04-02 20:16:06 -03:00
Alvaro Aleman
e7aa74b5d4 Add NoAuthLocations and default it to "/.well-known/acme-challenge" (#2243)
* Add NoAuthLocations and default it to "/.well-known/acme-challenge"

* Add e2e tests for no-auth-location

* Improve wording of no-auth-location tests
2018-04-01 21:02:34 -03:00
Elvin Efendi
ee46f486c7 e2e tests for dynamic configuration and Lua features and a bug fix (#2254)
* e2e tests for dynamic configuration and Lua features

* do not rely on force reload to dynamically configure when reload is needed

* fix misspelling

* skip dynamic configuration in the first template rendering

* dont error on first sync
2018-04-01 17:09:27 -03:00
Antoine Cotten
b09ecf790b Use SharedIndexInformers in place of Informers (#2271) 2018-03-29 09:35:01 -03:00
Manuel Alejandro de Brito Fontes
5738ddbdb5
Revert deleted assignment in #2146 (#2270) 2018-03-28 20:33:03 -03:00
Sylvain Rabot
385368990c Managing a whitelist for _/nginx_status (#2187)
Signed-off-by: Sylvain Rabot <s.rabot@lectra.com>
2018-03-28 09:27:34 -03:00
Manuel Alejandro de Brito Fontes
b0a63fe3ff
Fix grpc json tag name (#2246) 2018-03-23 09:12:26 -03:00
Oilbeater
1f93a1ccad fix: empty ingress path (#2244)
If the origin ingress rule has no field `path`, the default value will be an empty string which will cause issues when rendering template as other place will use `/` as the default value.
Set the default value of path to `/` when retrieve ingress rules from api-server. Thie will fix https://github.com/kubernetes/ingress-nginx/issues/1980
2018-03-23 08:08:42 -03:00
maxlaverse
39cb880f32 Revert "Get file max from fs/file-max. (#2050)" (#2241)
This reverts commit d8efd39694.
2018-03-22 13:03:04 -03:00
fqsghostcloud
4b9cb90f30 Correct typo (#2238)
* correct spelling

* correct typo
2018-03-22 08:14:06 -03:00
maxlaverse
8575769781 Make proxy_next_upstream_tries configurable (#2232)
* Make proxy_next_upstream_tries configurable

* Code generation
2018-03-22 08:12:36 -03:00
Manuel Alejandro de Brito Fontes
adf12fced1
Add support for gRPC (#2223)
* Update nginx to 1.13.10 and enable gRPC

* Add support for grpc
2018-03-22 00:38:47 -03:00
Elvin Efendi
2b5d4d7928 clean backends data before sending to Lua endpoint (#2233) 2018-03-21 23:47:39 -03:00
Elvin Efendi
df50487a35 fix wrong config generation when upstream-hash-by is set (#2215) 2018-03-19 17:37:51 -03:00
Alvaro Aleman
94deb3a01a Add configoption to exclude routes from tls upgrading (#2203)
* Add configoption to exclude routes from tls upgrading

* Add tests for IsLocationInLocationList

* Seperate elements in NoTLSRedirectLocations by comma

* Set NoTLSRedirectLocations to "/.well-known/acme-challenge/" by default

* Remove trailing slash from "/.well-known/acme-challenge" default
2018-03-18 17:44:59 -03:00
Oilbeater
5c02d700cb Allow config to disable geoip (#2202)
For a offline or private cloud environment, geoip is not needed.
Implementing https://github.com/kubernetes/ingress-nginx/issues/2179
2018-03-18 13:30:05 -03:00
Elvin Efendi
c90a4e811e Live Nginx (re)configuration without reloading (#2174) 2018-03-18 10:13:41 -03:00
Oilbeater
41cefeb178 Add worker-cpu-affinity nginx option (#2201)
worker_cpu_affinity is a common optimization method for improving nginx performance, adding this as a custom configuration. Also fix some format issues found during editing.
2018-03-16 13:32:45 -03:00
Elvin Efendi
36cce00fdd configuring load balancing per ingress (#2167)
* configure load balancing through a ingress annotation

* update docs
2018-03-09 13:09:41 -08:00
Antoine Cotten
4a49d67adc Add checker test for bad pid (#2191) 2018-03-09 09:21:02 -08:00
Oilbeater
f6b8506b17 change nginx process pgid (#2181)
put restarted nginx process in another process group, just like the normal nginx start did in https://github.com/kubernetes/ingress-nginx/blob/master/internal/ingress/controller/nginx.go#L289
2018-03-08 06:58:54 -08:00
Elvin Efendi
38b35c292e use the correct error channel (#2164) 2018-03-03 09:23:06 -03:00
Qiu Jian
56036ddc57 Add publish-status-address flag (#2148)
* Add publish-status-address flag

If this flag is set, status of ingress resources will be updated
with this address.

* Address aledbf's comment
2018-02-27 00:02:19 -03:00
Manuel Alejandro de Brito Fontes
3c67976969
In case of TLS errors do not allow traffic (#2146) 2018-02-25 17:20:14 -03:00
Manuel Alejandro de Brito Fontes
216fe01a07
Add option in the configuration configmap to enable remote logging (syslog) (#2145) 2018-02-25 12:47:14 -03:00
Manuel Alejandro de Brito Fontes
0dee303ac2
Add annotation to disable logs in a location (#2144) 2018-02-25 11:38:54 -03:00
Manuel Alejandro de Brito Fontes
a8ce680d43
Fix error loading modules (#2141) 2018-02-24 18:09:23 -03:00
Guang Ya Liu
f26c881e3f Updated log level to v2 for sysctlFSFileMax. (#2137)
This is very importatnt log for trouble-shooting, we should update
it to v2 by default.
2018-02-23 13:11:54 -03:00
Manuel Alejandro de Brito Fontes
0990c5b6ad
Migrate to codecov.io (#2120)
* Migrate to codecov.io

* Fix data race

* Update nginx to 1.13.9
2018-02-20 08:27:02 -08:00
Karl Stoney
d1b6f32981 Enabled the dynamic reload of GeoIP data (#2107)
* Moved geoip data into its own folder so it can be volume mounted

* Added FS watches for the geoip data

* Fixed single quotes issue (interpolation)

* Fixed gofmt errors

* Updated to directory crawl
2018-02-17 12:24:50 -08:00
Manuel Alejandro de Brito Fontes
9bcb5b08ea
Use a ring channel to avoid blocking write of events (#2082)
* Use a ring channel to avoid blocking write of events

* Add eapache/channels dependency
2018-02-13 17:46:18 -08:00
Manuel Alejandro de Brito Fontes
33475b7184
Fix opentracing configuration when multiple options are configured (#2075) 2018-02-12 16:08:49 -08:00
Manuel Alejandro de Brito Fontes
98213efee3
Fix spelling errors (#2076) 2018-02-12 14:33:26 -08:00
Manuel Alejandro de Brito Fontes
e596a084f8
Do not cancel the synchronization of secrets (#2069) 2018-02-11 21:37:02 -08:00
Guang Ya Liu
d8efd39694 Get file max from fs/file-max. (#2050) 2018-02-08 08:55:25 -08:00
Lihua Tang
1947f35121 Fix typos (#2046) 2018-02-07 19:15:50 -08:00
Guang Ya Liu
e34afc0fa4 The maximum number of open file descriptors should be maxOpenFiles. (#2031) 2018-02-02 21:05:01 -08:00
Luke Jolly
42076e8ed0 Added configmap option to disable IPv6 in nginx DNS resolver (#1992) 2018-02-02 11:53:28 -08:00
Anish Ramasekar
d7ef6b3fc7 Add support for enabling ssl_ciphers per host (#2006)
* Add support for adding ssl_ciphers

* Add documentation
2018-01-31 08:53:07 -08:00
Anish Ramasekar
2f700a9ad5 Add limit-request-status-code option (#2001)
* Add support for limit_req_status

* Add documentation

* Fix comment
2018-01-30 07:24:44 -06:00
Qiu Jian
951a704cec Add connection-proxy-header annotation (#1999)
This is the override the default connection header
2018-01-29 22:29:03 -06:00
Anish Ramasekar
b020686599 Add support to enable/disable proxy buffering (#1998)
* Enable proxy buffering using configmap and annotation

* add documentation
2018-01-29 08:43:55 -06:00
Fernando Diaz
d1ae7ff29c Enable Customization of Auth Request Redirect (#1993)
Adds the 'nginx.ingress.kubernetes.io/auth-request-redirect'
annotation, which allows the customization of the
'X-Auth-Request-Redirect' Header. Fixes: #1979
2018-01-27 21:32:08 -03:00
Manuel Alejandro de Brito Fontes
444a56c001
Fix chain completion and default certificate flag issues (#1978) 2018-01-25 10:46:20 -03:00
Manuel Alejandro de Brito Fontes
6bd97d195f
Only secrets in the local store can be updated (#1974) 2018-01-24 14:46:43 -03:00
Manuel Alejandro de Brito Fontes
c67e9185b6
By default brotli is disabled (#1970) 2018-01-24 10:01:37 -03:00
Manuel de Brito Fontes
0836cb30aa Remove event duplication and check ingress before annotation extraction 2018-01-23 21:11:56 -03:00
Manuel de Brito Fontes
12ec0475c0 Fix SSL passthrough 2018-01-23 19:34:33 -03:00
Manuel de Brito Fontes
12c8ea721d When a secret is updated read ingress annotations (again) 2018-01-23 19:34:33 -03:00
Manuel Alejandro de Brito Fontes
c49c17eb91
Merge pull request #1929 from aledbf/stores
Refactoring of kubernetes informers and local caches
2018-01-19 17:44:06 -02:00
Manuel de Brito Fontes
9af683b02a
Cleanup 2018-01-19 15:53:25 -03:00
Benji Visser
40718c3865 updating prometheus metrics names according to naming best practices (#1912)
updating Go names to not use underscores

accidental tab autocomplete 🔪
2018-01-19 09:32:19 -02:00
Manuel de Brito Fontes
0287024598 Add event for configmap update 2018-01-18 20:04:40 -03:00
Manuel de Brito Fontes
ffea85d397 Cleanup 2018-01-18 17:35:00 -03:00
Manuel de Brito Fontes
e9a00ff916 Refactoring of kubernetes informers and local caches 2018-01-18 16:14:54 -03:00