Commit graph

60 commits

Author SHA1 Message Date
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
Manuel Alejandro de Brito Fontes
71ebe1cba5 Code linting 2018-10-30 20:46:48 -03:00
Manuel Alejandro de Brito Fontes
fed013ab6f Fix status update in case of connection errors 2018-10-29 13:01:41 -03:00
Aarni Koskela
4a71111d4c Fix usages of %q formatting for numbers (%d)
This caused logs like "Adjusting ServerNameHashBucketSize variable to '@'"
2018-10-23 18:21:16 +03:00
Manuel Alejandro de Brito Fontes
4c46ee95c9
Update leader election methods 2018-10-10 21:46:45 -03: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
a7c2633e4e remove payload from log (#3135) 2018-09-26 12:09:14 -03: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
Manuel de Brito Fontes
db947e344e
Fix formatting args 2018-08-25 12:18:28 -03:00
Henry Tran
cbf041fc3e Add Lua module to serve SSL Certificates dynamically 2018-08-23 22:15:54 -04:00
Henry Tran
7faf089082 Add dynamic certificate feature to controller 2018-08-16 20:19:33 -04:00
Manuel de Brito Fontes
b148f113ae
Use authbind to bind privileged ports 2018-08-05 11:18:50 -04:00
Elvin Efendi
d4faf68416 add support for ExternalName service type in dynamic mode 2018-07-25 09:05:47 -04:00
Manuel de Brito Fontes
1542a12764
Refactor controller metrics interface 2018-07-12 12:46:34 -04:00
Andrii Kostenko
bc53d1eb74
Sample rate configmap option for zipkin in nginx-opentracing 2018-06-28 18:13:31 +03:00
Antoine Cotten
130866b51c
Proofreading 2018-06-25 00:04:43 +02:00
Manuel Alejandro de Brito Fontes
df76d4b481
Update opentracing configuration (#2676) 2018-06-21 18:15:18 -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
f782929eb5
Remove dummy file watcher 2018-06-16 18:49:08 -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
Manuel de Brito Fontes
7ded31d7a8
Create file permission constants 2018-06-12 11:06:14 -04:00
Jason Roberts
d637a9b978 Configurable Proxy Protocol header timeout for TLS passthrough 2018-06-03 20:10:41 -05:00
Niels Lensink
cfc7cbc824
Change TrimLeft for TrimPrefix on the from-to-www redirect 2018-05-07 13:29:04 +02: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
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
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
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
fqsghostcloud
4b9cb90f30 Correct typo (#2238)
* correct spelling

* correct typo
2018-03-22 08:14:06 -03:00
Elvin Efendi
2b5d4d7928 clean backends data before sending to Lua endpoint (#2233) 2018-03-21 23:47:39 -03:00
Elvin Efendi
c90a4e811e Live Nginx (re)configuration without reloading (#2174) 2018-03-18 10:13:41 -03: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
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
Guang Ya Liu
e34afc0fa4 The maximum number of open file descriptors should be maxOpenFiles. (#2031) 2018-02-02 21:05:01 -08: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 de Brito Fontes
12ec0475c0 Fix SSL passthrough 2018-01-23 19:34:33 -03:00
Manuel de Brito Fontes
0287024598 Add event for configmap update 2018-01-18 20:04:40 -03:00
Manuel de Brito Fontes
e9a00ff916 Refactoring of kubernetes informers and local caches 2018-01-18 16:14:54 -03:00
Manuel Alejandro de Brito Fontes
a09527cf6d
Fix data race updating ingress status (#1872) 2018-01-02 17:43:25 -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