Commit graph

247 commits

Author SHA1 Message Date
Conor Landry
988189cf9f add more testing for mergeAlternativeBackends
- fix edge cases caught by new testing
2018-11-26 10:00:57 -05:00
k8s-ci-robot
003027b800
Merge pull request #3443 from aledbf/initial-reload
Remove initial log error during reconfiguration
2018-11-21 05:44:54 -08:00
Manuel Alejandro de Brito Fontes
5d4dc78926
Remove initial log error during reconfiguration 2018-11-21 09:28:04 -03:00
k8s-ci-robot
c99716aadf
Merge pull request #3437 from Shopify/ingress-annotations
Use struct to pack Ingress and its annotations
2018-11-21 00:41:58 -08:00
Maxime Ginters
12766cdfc6 Use struct to pack Ingress and its annotations 2018-11-20 09:38:22 -05:00
k8s-ci-robot
96f5ae6668
Merge pull request #3417 from Shopify/fix_canary_merge_self_def
bugfix: do not merge catch-all canary backends with itself
2018-11-20 05:03:52 -08:00
k8s-ci-robot
82721e575d
Merge pull request #3372 from Shopify/session-cookie-path
Add annotation for session affinity path
2018-11-19 07:25:32 -08:00
Zenara Daley
50b29feb4a Add annotation for session affinity path 2018-11-19 09:15:24 -05:00
Manuel Alejandro de Brito Fontes
168f30d1ec Revert removal of support for TCP and UDP services 2018-11-16 13:48:47 -03:00
Conor Landry
ec28539e43 bugfix: do not merge catch-all canary backends with itself 2018-11-13 13:20:15 -05:00
Fernando Diaz
5195600841 Allows ModSecurity to be configured per location
The following annotations will be added:

- enable-modsecurity
- enable-owasp-core-rules
- modsecurity-transaction-id

Fixes #3167
2018-11-06 22:24:31 -06:00
k8s-ci-robot
17cad51e47
Merge pull request #3341 from Shopify/canary_upstream
Add canary annotation and alternative backends for traffic shaping
2018-11-06 12:22:16 -08:00
Conor Landry
412cd70d3a implement canary annotation and alternative backends
Adds the ability to create alternative backends. Alternative backends enable
traffic shaping by sharing a single location but routing to different
backends depending on the TrafficShapingPolicy defined by AlternativeBackends.

When the list of upstreams and servers are retrieved, we then call
mergeAlternativeBackends which iterates through the paths of every ingress
and checks if the backend supporting the path is a AlternativeBackend. If
so, we then iterate through the map of servers and find the real backend
that the AlternativeBackend should fall under. Once found, the
AlternativeBackend is embedded in the list of VirtualBackends for the real
backend.

If no matching real backend for a AlternativeBackend is found, then the
AlternativeBackend is deleted as it cannot be backed by any server.
2018-11-06 13:13:14 -05:00
k8s-ci-robot
265f96bf14
Merge pull request #3344 from ecosia/jg-customerrors-per-ingress
Adds CustomHTTPErrors ingress annotation and test
2018-11-06 09:21:49 -08:00
jasongwartz
0ebf0354cb Adds CustomHTTPErrors ingress annotation and test
Adds per-server/location error-catch functionality to nginx template

Adds documentation

Reduces template duplication with helper function for CUSTOM_ERRORS data

Updates documentation

Adds e2e test for customerrors

Removes AllCustomHTTPErrors, replaces with template function with deduplication and adds e2e test of deduplication

Fixes copy-paste error in test, adds additional test cases

Reverts noop change in controller.go (unused now)
2018-11-06 16:47:52 +01:00
Manuel Alejandro de Brito Fontes
3838145a8c
Remove reloads when there is no endpoints 2018-11-06 09:26:04 -03:00
liuwei
ce6e564f82 merge from master 2018-11-02 13:13:24 +08:00
liuwei
ad57c76b73 Support cookie expires 2018-10-29 15:21:10 +08:00
Zenara Daley
9f2a0b6363 Add healthcheck timeout as CLA 2018-10-24 16:02:28 -04:00
Elvin Efendi
cdb244e579 fix two bugs with backend-protocol annotation 2018-10-19 09:11:21 -04:00
Manuel Alejandro de Brito Fontes
1b63ca355f
Improve dynamic lua confguration 2018-10-12 14:29:41 -03:00
Corey O'Brien
e0020e22d1 Switch to using wait.ExponentialBackoff 2018-10-12 09:19:20 -04:00
Corey O'Brien
ee6bb942e5 Retry initial backend configuration 2018-10-12 00:12:59 -04:00
Manuel Alejandro de Brito Fontes
74c2f93de6
Only support dynamic configuration 2018-10-09 22:05:45 -03:00
Elvin Efendi
78f12c25c5 delete upstream healthcheck annotation 2018-10-09 09:14:13 -04:00
Manuel Alejandro de Brito Fontes
859b298d42 Remove annotations grpc-backend and secure-backend already deprecated 2018-10-08 12:26:06 -03:00
Manuel Alejandro de Brito Fontes
44bdc7eb59 Remove support for TCP and UDP services 2018-10-07 10:53:37 -03:00
Zenara Daley
f29bdc3e8d Add 'use regex' annotation to toggle nginx regex location modifier 2018-10-01 13:54:11 -04:00
Elvin Efendi
b3a22f7fc0 do not require --default-backend-service 2018-09-25 21:14:28 -04:00
Manuel de Brito Fontes
91ae204f6c Replace standard json encoding with jsoniter 2018-09-22 14:25:01 -03:00
Mike Bryant
66486203db fix: Don't try and find local certs when secretName is not specified
Fixes #3048
2018-09-06 11:35:16 +01:00
Fernando Diaz
10de8cac56 Log Errors Missing in Internal
Adds a few missing errors and fix formatting for others.

Fixes #3013
2018-08-30 15:02:42 -05:00
Elvin Efendi
dc952dc462 consistently fallback to default certificate when TLS is configured 2018-08-22 20:53:25 -04:00
Henry Tran
7faf089082 Add dynamic certificate feature to controller 2018-08-16 20:19:33 -04:00
Mike Bryant
6d9772ce00 fix: Sort TCP/UDP upstream order (#2885)
Fixes #2721
2018-08-10 07:09:14 -04:00
Manuel de Brito Fontes
7af93e03c7
Add annotation backend-protocol 2018-08-07 08:59:38 -04:00
Manuel de Brito Fontes
1542a12764
Refactor controller metrics interface 2018-07-12 12:46:34 -04:00
Manuel de Brito Fontes
14426c60b8
Fix ingress rule parsing error 2018-07-09 18:30:11 -04:00
Antoine Cotten
472dcb371b
Clarify log messages in controller pkg 2018-07-02 22:59:54 +02: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
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
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
Antoine Cotten
47bea35492
Clarify log messages in controller pkg 2018-06-13 21:27:43 +02:00
Manuel de Brito Fontes
f3e9292c04
Always sort upstream list to provide stable iteration order 2018-06-02 17:07:14 -04: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
Lorenzo Fontana
93be8db612
Annotations for the InfluxDB Module
Signed-off-by: Lorenzo Fontana <lo@linux.com>
2018-05-19 09:22:46 +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
Manuel de Brito Fontes
ff3e182350 Add support for grpc_set_header 2018-05-17 08:35:11 -04: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
777c637cf6
Add tests for controller getEndpoints 2018-04-22 01:24:26 -03:00
Manuel de Brito Fontes
04ed2d9a48
Allow tls section without hosts in Ingress rule 2018-04-21 21:14:46 -03:00
Antoine Cotten
fec3ddc6cc
Sync secrets (SSL certificates) on events
Remove scheduled check for missing secrets.
2018-04-13 16:14:29 +02: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
a6fe800a47 lua-resty-waf controller (#2304) 2018-04-08 17:37:13 -03:00
Sergey Lanzman
83974c32ac Update controller.go (#2285) 2018-04-02 20:16:06 -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
Manuel Alejandro de Brito Fontes
5738ddbdb5
Revert deleted assignment in #2146 (#2270) 2018-03-28 20:33:03 -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
c90a4e811e Live Nginx (re)configuration without reloading (#2174) 2018-03-18 10:13:41 -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
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
0dee303ac2
Add annotation to disable logs in a location (#2144) 2018-02-25 11:38:54 -03: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
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
Manuel de Brito Fontes
9af683b02a
Cleanup 2018-01-19 15:53:25 -03:00
Manuel de Brito Fontes
e9a00ff916 Refactoring of kubernetes informers and local caches 2018-01-18 16:14:54 -03:00
Manuel de Brito Fontes
f26331844b
Remove deprecated cloner helper 2018-01-07 12:03:00 -03:00
Manuel Alejandro de Brito Fontes
da829748ec
Fix SSL Passthrough template issue and custom ports in redirect to HTTPS (#1870) 2018-01-02 14:48:42 -03:00
Manuel Alejandro de Brito Fontes
e02697ee4b
Merge pull request #1800 from maxlaverse/configurable_refresh_interval
Add control of the configuration refresh interval
2017-12-09 12:17:31 -06:00
Max Laverse
f5953bbfa1 Add X-Forwarded-Prefix on rewrites 2017-12-06 22:06:37 +01:00
Max Laverse
0561ea8b87 Add control of the configuration refresh interval 2017-12-05 22:17:38 +01:00
Manuel Alejandro de Brito Fontes
2e3c7e24fe
Merge pull request #1768 from aledbf/fix-default-backend
Custom default backend must use annotations if present
2017-11-30 11:13:17 -03:00
Manuel Alejandro de Brito Fontes
5482bca363
Merge pull request #1771 from aledbf/verifyHostname
Add additional check for old SSL certificates
2017-11-30 10:34:51 -03:00
Manuel de Brito Fontes
930bd7f4f3 Add additional check for old SSL certificates 2017-11-29 20:52:49 -03:00
Manuel de Brito Fontes
14a9e664bb Custom default backend must use annotations if present 2017-11-29 15:04:51 -03:00
xianlubird
6e18d00cd7 Fix ingress typo
Signed-off-by: xianlubird <xianlubird@gmail.com>
Signed-off-by: xianlu <xianlu.cxl@alibaba-inc.com>
2017-11-29 17:02:41 +08:00
Manuel de Brito Fontes
3526785b96 Fix reference to removed lister 2017-11-27 19:22:59 -03:00
Manuel de Brito Fontes
f055022e58 Simplify annotations 2017-11-23 14:11:31 -03:00
Manuel de Brito Fontes
1a92159fa4 Refactor annotations prefix helper 2017-11-22 21:20:04 -03:00
Manuel de Brito Fontes
18d6573981 Add fake filesystem for test to avoid temporal files on the local filesystem 2017-11-22 19:52:30 -03:00
Manuel de Brito Fontes
14b5259b0f Refactoring of ingress class annotation and main flags 2017-11-22 19:31:59 -03:00
Manuel de Brito Fontes
c5b0c8ab0d Add annotation for setting proxy_redirect 2017-11-13 20:19:41 -03:00
Manuel de Brito Fontes
ff9e804d9a Refactor SSL intermediate CA certificate check 2017-11-13 12:07:14 -03:00
Manuel de Brito Fontes
4c1c707e9c Add tests for alias annotation 2017-11-11 14:53:44 -03:00
Manuel de Brito Fontes
d4fd127a1f Add missing field 2017-11-11 14:53:44 -03:00
Manuel de Brito Fontes
8f1ff15a6e Add prefix nginx to annotations 2017-11-11 14:53:44 -03:00
Manuel de Brito Fontes
73fe95722c Rename package pkg to internal 2017-11-11 14:53:44 -03:00
Renamed from pkg/ingress/controller/controller.go (Browse further)