Commit graph

823 commits

Author SHA1 Message Date
okryvoshapka-connyun
8cc9afe8ee Added Global External Authentication settings to configmap parameters incl. addons 2019-05-03 12:08:16 +02:00
Thibault Jamet
1cd17cd12c
Implement a validation webhook
In case some ingress have a syntax error in the snippet configuration,
the freshly generated configuration will not be reloaded to prevent tearing down existing rules.
Although, once inserted, this configuration is preventing from any other valid configuration to be inserted as it remains in the ingresses of the cluster.
To solve this problem, implement an optional validation webhook that simulates the addition of the ingress to be added together with the rest of ingresses.
In case the generated configuration is not validated by nginx, deny the insertion of the ingress.

In case certificates are mounted using kubernetes secrets, when those
changes, keys are automatically updated in the container volume, and the
controller reloads it using the filewatcher.

Related changes:

- Update vendors
- Extract useful functions to check configuration with an additional ingress
- Update documentation for validating webhook
- Add validating webhook examples
- Add a metric for each syntax check success and errors
- Add more certificate generation examples
2019-04-18 19:07:04 +02:00
Kubernetes Prow Robot
34734edc6e
Merge pull request #4005 from Shopify/proxy-next-upstream-timeout
Support proxy_next_upstream_timeout
2019-04-15 09:10:09 -07:00
Alex Kursell
ffeb1fe348 Support proxy_next_upstream_timeout 2019-04-15 11:08:57 -04:00
Elvin Efendi
13a7e2c5d0 refactor GetFakeSSLCert 2019-04-14 09:35:48 -04:00
Kubernetes Prow Robot
4c37e0e4b7
Merge pull request #4004 from Shopify/no-valgrind
Remove valgrind
2019-04-13 20:48:01 -07:00
Elvin Efendi
b1a6aa2973 make sure unit test create fakecertificate 2019-04-13 16:35:52 -04:00
Elvin Efendi
417af76e97 properly handle default and custom default certs in dynamic ssl mode 2019-04-13 12:32:06 -04:00
Alex Kursell
ae592821c6 Remove valgrind 2019-04-12 12:09:52 -04:00
Elvin Efendi
fc6e7c9be0 fix dynamic cert bug 2019-04-09 22:11:21 -04:00
Kubernetes Prow Robot
d3f9fbb8fb
Merge pull request #3960 from Shopify/fix-add-headers-segfault
Fix segfault on reference to nonexistent configmap
2019-04-04 08:52:53 -07:00
Manuel Alejandro de Brito Fontes
951f7d7c1b
Refactor equals 2019-04-03 22:39:32 -03:00
Alex Kursell
f6beef960d Fix segfault on reference to nonexistent configmap 2019-04-02 16:39:42 -04:00
Kubernetes Prow Robot
39ecab8d5a
Merge pull request #3954 from Shopify/lb-configmap
Fix load-balance configmap value
2019-04-02 05:10:34 -07:00
Alex Kursell
4f819b6256 Fix load-balance configmap value 2019-04-01 15:55:36 -04:00
Kubernetes Prow Robot
b87cc5a1a6
Merge pull request #3786 from Shopify/rewrite-x-forwarded-prefix
Fix x-forwarded-prefix annotation
2019-03-31 16:18:32 -07:00
Elvin Efendi
496ff07bf1 replace some of the Nginx configuration to Lua code 2019-03-31 12:04:52 -04:00
Kubernetes Prow Robot
4bee401d16
Merge pull request #3947 from vncntvandriessche/bug/silent-custom-default-certificate-failure
Adds a log warning when falling back to default fake cert
2019-03-31 08:42:32 -07:00
Alex Kursell
188295550c Simplify x-forwarded-prefix annotation 2019-03-29 16:25:25 -04:00
Vincent Van Driessche
23902058f9 Adds a log warning when falling back to default fake cert 2019-03-29 17:30:10 +01:00
Manuel Alejandro de Brito Fontes
14a9e9f3fa
Update dependencies client-go to release-11.0 and kubernetes-1.14.0 2019-03-28 20:43:18 -03:00
Manuel Alejandro de Brito Fontes
3ec1028d0b
Fix dynamic SSL certificate for aliases and redirect-from-to-www 2019-03-28 16:29:11 -03:00
Kubernetes Prow Robot
e624fe171d
Merge pull request #3839 from perprogramming/bugfix/panic-on-multiple-non-matching-canary
Fix panic on multiple non-matching canary
2019-03-27 16:46:48 -07:00
Kubernetes Prow Robot
614a2d43bc
Merge pull request #3895 from jacksontj/issue_3881
Correctly format ipv6 resolver config for lua
2019-03-14 11:22:27 -07:00
Kubernetes Prow Robot
189e2db412
Merge pull request #3889 from Shopify/simplify-controller-annotations
Separate out annotation assignment logic
2019-03-14 11:00:38 -07:00
Thomas Jackson
eba4a8b87c Correctly format ipv6 resolver config for lua
Fixes #3881
2019-03-14 10:00:24 -07:00
Kubernetes Prow Robot
e0793650d0
Merge pull request #3885 from aledbf/status
Refactor status update
2019-03-13 08:19:36 -07:00
Alex Kursell
d74cc69693 Separate out annotation assignment logic 2019-03-12 14:18:09 -04:00
Manuel Alejandro de Brito Fontes
f4e4335d8c
Only the leader updates metrics for SSL certificate expiration 2019-03-12 12:08:24 -03:00
Per Bernhardt
c995e13249 Improve text, error level, tests... 2019-03-12 15:57:36 +01:00
Alex Kursell
d8fe2d992b Remove useless nodeip call and deprecate --force-namespace-isolation 2019-03-11 18:19:13 -04:00
Manuel Alejandro de Brito Fontes
20a89480f0
Use full election leader ID 2019-03-11 13:11:27 -03:00
Manuel Alejandro de Brito Fontes
7c717cabcf
Add promehteus metric about leader election status 2019-03-11 13:11:27 -03:00
Manuel Alejandro de Brito Fontes
0a39425e8f
Refactor status update 2019-03-11 13:11:26 -03:00
Kubernetes Prow Robot
8e7480e0f1
Merge pull request #3853 from aledbf/remove-authbind
Remove authbind
2019-03-11 07:09:29 -07:00
Elvin Efendi
5667ea5d67 bugfix: when secret includes ca.crt store it on disk even in dynamic cert mode 2019-03-11 00:53:06 -04:00
Elvin Efendi
70df5e03e5 clean up certificate processing 2019-03-11 00:53:06 -04:00
Alejandro Pedraza
7ea245e6e6 Add test
Signed-off-by: Alejandro Pedraza <alejandro.pedraza@gmail.com>
2019-03-07 06:18:06 -05:00
Alejandro Pedraza
a3c87cf9cb Properly set ing.Service when there are multiple rules with different hosts using the same path
Fixes #3611

Signed-off-by: Alejandro Pedraza <alejandro.pedraza@gmail.com>
2019-03-07 06:06:24 -05:00
Manuel Alejandro de Brito Fontes
d898169484 Fix ssl-dh-param issue when secret does not exit 2019-03-05 16:31:33 -03:00
Manuel Alejandro de Brito Fontes
26f2b1330f Remove authbind 2019-03-05 10:08:34 -03:00
Alex Kursell
d3ac73be79 Remove session-cookie-hash annotation 2019-03-04 10:34:48 -05:00
Per Bernhardt
8a40e82ffb Fix panic on multiple non-matching canary 2019-03-04 12:30:59 +01:00
Mikhail Marchenko
8b3702c829 Enable access log for default backend
disable log on default_server
2019-02-26 11:14:31 +03:00
jasongwartz
3865e30a00 Changes CustomHTTPErrors annotation to use custom default backend
Updates e2e test

Removes focus from e2e test

Fixes renamed function

Adds tests for new template funcs

Addresses gofmt

Updates e2e test, fixes custom-default-backend test by creating service

Updates docs
2019-02-24 22:48:56 +01:00
Kubernetes Prow Robot
7b2495047f
Merge pull request #3781 from zoumo/proxy-buffer-number
feat: configurable proxy buffers number
2019-02-22 12:11:46 -08:00
Jim Zhang
6305e1d152 fix: run gofmt 2019-02-22 15:04:19 +08:00
Jim Zhang
dc63e5d185 fix: rename proxy-buffer-number to proxy-buffers-number 2019-02-22 10:21:17 +08:00
Taoge
24993f359f
- remove annoations in nginxcontroller struct 2019-02-21 19:14:11 +08:00
Jim Zhang
c92d29d462 feat: configurable proxy buffer number 2019-02-20 18:05:09 +08:00
Anthony Ho
ec04852526 Create custom annotation for satisfy "value" 2019-02-19 15:58:35 -05:00
Kubernetes Prow Robot
784d57ea69
Merge pull request #3695 from yowenter/patch-1
> Don't reload nginx when L4 endpoints changed
2019-02-19 11:27:11 -08:00
TaoGe
b03049c0af
> Don't reload nginx when L4 service pods changed
Since we use lua upstream for L4 service balancer. We don't need reload nginx when L4 service pod changed.
2019-02-19 14:31:45 +08:00
Manuel Alejandro de Brito Fontes
bef6ff9042
Do not log unnecessarily (#3771) 2019-02-16 20:56:18 -03:00
Alan J Castonguay
a29c27ed4c Datadog Opentracing support - part 2
This commit is part 2 of 2, adding configuration of the
Datadog Opentracing module to the controller.

Fixes half of #3752
2019-02-15 15:20:10 -05:00
Kubernetes Prow Robot
908a2ae506
Merge pull request #3764 from ElvinEfendi/cleanup-confusing-attribute
delete confusing CustomErrors attribute to make things more explicit
2019-02-14 03:26:21 -08:00
Elvin Efendi
adc128711b delete confusing CustomErrors attribute to make things more explicit 2019-02-13 22:41:02 -05:00
Kubernetes Prow Robot
c8d30755a9
Merge pull request #3748 from aledbf/update-image
Update nginx image
2019-02-13 15:14:08 -08:00
Alex Kursell
7e3304d4f9 Apply annotations to default location 2019-02-11 14:32:49 -05:00
Sebastiaan Tammer
fc5e99a151 Parse environment variables in OpenTracing configuration 2019-02-10 16:59:05 +01:00
Manuel Alejandro de Brito Fontes
7dc17a603d Update nginx image 2019-02-09 18:53:31 -03:00
Elvin Efendi
aca51a3d4e dont log unnecessarily 2019-02-07 13:22:02 -05:00
Kubernetes Prow Robot
ea9055b613
Merge pull request #3728 from Shopify/fix-test-list-ingresses
Fix flaky test
2019-02-07 07:08:56 -08:00
Kubernetes Prow Robot
4dd0365c01
Merge pull request #3734 from Shopify/remove-old-dicts
remove old unused lua dicts
2019-02-06 20:21:28 -08:00
Kubernetes Prow Robot
6386da7e6f
Merge pull request #3736 from Shopify/increase-log-level
do not unnecessarily log
2019-02-06 19:24:50 -08:00
Kubernetes Prow Robot
ef7d7cf7d1
Merge pull request #3667 from Shopify/fix-worker-connection-calculation
worker_connections should be less (3/4th) than worker_rlimit_nofile
2019-02-06 15:11:20 -08:00
Elvin Efendi
e7383bdf3d do not unnecessarily log 2019-02-06 17:39:38 -05:00
Elvin Efendi
d99390f402 remove old unused lua dicts 2019-02-06 17:33:16 -05:00
Kubernetes Prow Robot
17e788b8e1
Merge pull request #3684 from aledbf/health
Replace Status port using a socket
2019-02-06 13:49:08 -08:00
Manuel Alejandro de Brito Fontes
34b0580225
Replace Status port using a socket 2019-02-06 18:00:10 -03:00
Alex Kursell
b5a9f6c000 Fix flaky test 2019-02-05 18:02:21 -05:00
Elvin Efendi
638f965a8f worker_connections should be less than worker_rlimit_nofile 2019-02-02 22:30:36 -05:00
minherz
de2a1ece6d add header-value annotation
add new annotation (header-value)
parse it and propogate to lua script
alter balancer rule to include it into the canary routing logic
add e2e test to validate fallback for canary-by-header-value
add description of canary-by-header-value to documentation
2019-01-30 23:23:44 +02:00
Fernando Diaz
7b507095f4 Increase Unit Test Coverage for Templates
Increases the Coverage for nginx ingress template
functions. The majority of the added unit tests
are for checking the invalid type handling.
2019-01-29 22:55:44 -06:00
Kubernetes Prow Robot
bd248250be
Merge pull request #3702 from stamm/access_logs_params
Add params for access log
2019-01-28 07:30:00 -08:00
Rustam Zagirov
5dee6af957 add params for access log 2019-01-26 21:42:11 +03:00
Alex Kursell
ca74960905 Fix --disable-catch-all 2019-01-25 14:53:55 -05:00
Elvin Efendi
bdf6e47004 rename sysctlFSFileMax to rlimitMaxNumFiles to reflect what it actually does 2019-01-15 15:34:17 -05:00
Manuel Alejandro de Brito Fontes
e7236afc83 Fix invalid validation creating prometheus valid host values 2019-01-14 10:59:55 -03:00
Manuel Alejandro de Brito Fontes
b10b60f9ae
Revert max-worker-connections default value (#3660) 2019-01-13 10:53:18 -03:00
Manuel Alejandro de Brito Fontes
3483eb375e Remove flag sort-backends 2019-01-11 14:43:02 -03:00
Manuel Alejandro de Brito Fontes
a3bcbeb3d2
Add support for redirect https to https when from-to-www-redirect is defined 2019-01-10 20:59:49 -03:00
Shai Katz
edd87fbae3 add limit connection status code
add default conn status code

add missing colon

add limit connection status code
2019-01-09 19:31:10 +02:00
Maxime Ginters
7142791d41 Fix duplicate alternative backend merging 2019-01-08 11:52:08 -05:00
Maxime Ginters
3fa8395f7f Fix a bug in Ingress update handler 2019-01-08 09:28:42 -05:00
Kubernetes Prow Robot
8f57f9578d
Merge pull request #3586 from Shopify/disable-catch-all
Add --disable-catch-all option to disable catch-all server
2019-01-07 07:16:26 -08:00
Kubernetes Prow Robot
c326c55414
Merge pull request #3507 from aledbf/remove-temporal
Remove temporal configuration file after a while
2019-01-04 11:56:29 -08:00
Manuel Alejandro de Brito Fontes
c830a73255
Remove temporal configuration file after a while 2019-01-04 16:11:38 -03:00
Kubernetes Prow Robot
79bdfcbe84
Merge pull request #3620 from walkafwalka/server-alias-metrics
Added server alias to metrics
2019-01-04 11:10:39 -08:00
Kubernetes Prow Robot
2c3ce07135
Merge pull request #3396 from flugel-it/master
New balancer implementation: consistent hash subset
2019-01-04 10:31:03 -08:00
Aaron Walker
27ace6ba40
Fixed possibility of duplicate server.Alias 2019-01-03 12:09:31 -08:00
Kubernetes Prow Robot
c62dc221bf
Merge pull request #3615 from kppullin/fix-l4-external-names
Pass k8s `Service` data through to the TCP balancer script.
2019-01-03 06:53:56 -08:00
Diego Woitasen
60b983503b Consistent hashing to a subset of nodes. It works like consistent hash,
but instead of mapping to a single node, we map to a subset of nodes.
2019-01-03 01:32:52 -03:00
Kubernetes Prow Robot
71cc6df74f
Merge pull request #3174 from Shopify/rewrite-regex
Generalize Rewrite Block Creation and Deprecate AddBaseUrl (not backwards compatible)
2019-01-02 12:30:18 -08:00
Aaron Walker
cb4e376093
Added server alias to metrics 2019-01-02 12:23:59 -08:00
Kevin Pullin
f005d4c3ec L4 config - Only send Service.Spec instead of entire Service. 2019-01-02 09:32:57 -08:00
Kubernetes Prow Robot
6d8ffd99aa
Merge pull request #3582 from aledbf/sort-by-creation
Sort ingresses by creation timestamp
2019-01-02 07:42:05 -08:00
Kevin Pullin
f0173f0822 Pass k8s Service data through to the TCP balancer script.
Fixes broken L4 ExternalName services.

Details
---------

The `tcp_udp_balancer.lua` script checks if the property
`backend.service.spec["type"]` equals "ExternalName".  If so,
the script does a DNS lookup on the name in order to configure
the backend configuration.

However, before this commit, the k8s `Service` data was
_not_ set on the `Backend` struct passed into the `tcp_udp_balancer.lua`
script and therefore the ExternalName check always returned false.

This commit fixes the issue by setting the `Service` field on
the `Backend` struct. This also requires adding a new field to the
`L4Backend` struct first, so that it's available to set on the `Backend`.
2019-01-01 20:50:41 -08:00
ramnes
bf7b5ebd81 Add an option to automatically set worker_connections based on worker_rlimit_nofile 2018-12-27 18:36:19 +01:00
Manuel Alejandro de Brito Fontes
b2fa243b97
Sort ingresses by creation timestamp 2018-12-27 10:48:01 -03:00
Anish Ramasekar
382049a0bf Adds support for HTTP2 Push Preload annotation
update test for backendprotocols

Adds support for HTTP2 Push Preload annotation

Signed-off-by: Ricardo Pchevuzinske Katz <ricardo.katz@serpro.gov.br>

Adds support for HTTP2 Push Preload annotation

Signed-off-by: Ricardo Pchevuzinske Katz <ricardo.katz@serpro.gov.br>

Adds support for HTTP2 Push Preload annotation

Signed-off-by: Ricardo Pchevuzinske Katz <ricardo.katz@serpro.gov.br>

Adds support for HTTP2 Push Preload annotation

Signed-off-by: Ricardo Pchevuzinske Katz <ricardo.katz@serpro.gov.br>

Adds support for HTTP2 Push Preload annotation

Adds support for HTTP2 Push Preload annotation
2018-12-24 17:13:25 -02:00
Maxime Ginters
1678d99a03 Add --disable-catch-all option to disable catch-all server 2018-12-21 13:22:26 -05:00
Bryan Boreham
f33a2090dd Add a flag to make per-host metrics optional
When serving many hosts from one nginx, the metrics may become too
numerous for Prometheus.  Add a flag to disable the host label, so
that metrics are totalled across all hosts.
2018-12-21 17:31:54 +00:00
Fernando Diaz
429110aa13 Add Unit Tests for getIngressInformation
Adds a unit test for the getIngressInformation
function.
2018-12-18 11:10:48 -06:00
Elvin Efendi
7a00d52141 fix status updated: make sure ingress.status is copied 2018-12-17 16:19:02 +04:00
Kubernetes Prow Robot
ee3a8fe581
Merge pull request #3505 from Shopify/watch-pod-lua
Update lua configuration_data when number of controller pod change
2018-12-17 00:10:30 -08:00
Maxime Ginters
f90881b367 Update lua configuration_data when number of controller pod change 2018-12-14 13:34:54 -05:00
Zenara Daley
67654a6fd5 Generalize Rewrite Block Creation 2018-12-13 13:02:05 -05:00
Guihua Zhu
d22146f3b0 handle_error_when_executing_diff
Signed-off-by: Guihua Zhu <zhuguihua@cmss.chinamobile.com>
2018-12-12 13:49:17 +08:00
Kubernetes Prow Robot
8ae01a2cf9
Merge pull request #3525 from Shopify/order_independence_canary_ann
make canary ingresses independent of the order they were applied
2018-12-10 11:14:55 -08:00
Conor Landry
d5840a4071 make canary ingresses independent of the order they were applied 2018-12-10 13:17:05 -05:00
Kubernetes Prow Robot
f6f18a167d
Merge pull request #3532 from ArchangelSDY/ingress-update
Ignore updates of ingresses with invalid class
2018-12-07 04:28:14 -08:00
Maxime Ginters
af460f7e15 Fix a bug with Canary becoming main server 2018-12-06 11:04:32 -05:00
Archangel_SDY
ece5e1c678 Pass k8sStore to member functions by pointer
Passing `k8sStore` by value implies read and copy of `backendConfig`,
which is not protected by a mutex and may cause race conditions.
2018-12-06 22:11:19 +08:00
Archangel_SDY
d58dbde5e3 Add a mutex to protect against simultaneous read/write to backend config
This addresses issues found by race detector.
2018-12-06 22:02:17 +08:00
Archangel_SDY
9122c08b3e Ignore updates of ingress with invalid class 2018-12-06 22:02:17 +08:00
Zhenhai Gao
05d2baede6 Fix log output format
Signed-off-by: Zhenhai Gao <gaozh1988@live.com>
2018-12-06 09:59:31 +08:00
Manuel Alejandro de Brito Fontes
68f344233b Fix lint issues 2018-12-05 13:28:28 -03:00
Manuel Alejandro de Brito Fontes
1fed943b3d Update process-exporter methods 2018-12-05 13:28:10 -03:00
Manuel Alejandro de Brito Fontes
2fa55eabf6 Replace glog with klog 2018-12-05 13:27:55 -03:00
Manuel Alejandro de Brito Fontes
06d33c16b5
Allow to disable NGINX metrics 2018-12-05 10:14:35 -03:00
Kubernetes Prow Robot
c4ba23832a
Merge pull request #3474 from aledbf/improve-parsing
Improve parsing of annotations and use of Ingress wrapper
2018-12-05 03:33:18 -08:00
Manuel Alejandro de Brito Fontes
497246f8ba
Annotations cannot being empty 2018-12-02 16:07:46 -03:00
Manuel Alejandro de Brito Fontes
f78e2e3849
Only copy fields being used 2018-12-02 15:35:36 -03:00
Manuel Alejandro de Brito Fontes
67808c0ed8
Improve parsing of annotations and use of Ingress wrapper 2018-12-02 15:35:36 -03:00
Elvin Efendi
4eabd535f9 be consistent with what Nginx supports 2018-12-02 22:20:56 +04:00
Kubernetes Prow Robot
ccd7b890fd
Merge pull request #3492 from aledbf/fix-units
Fix data size validations
2018-12-02 09:01:12 -08:00
Andre Marianiello
b80b19902a Use opentracing_grpc_propagate_context when necessary 2018-12-01 16:31:10 -05:00
k8s-ci-robot
24f3e508b4
Merge pull request #3446 from Shopify/add_tests_merge_canary
add more testing for mergeAlternativeBackends
2018-11-30 14:22:44 -08:00
Manuel Alejandro de Brito Fontes
6098f6c0e7
Fix data size validations 2018-11-30 10:40:33 -03:00
Elvin Efendi
e93763da6a delete unused LoadBalanceAlgorithm 2018-11-28 14:49:37 +04:00
Elvin Efendi
60569137ca delete unused buildLoadBalancingConfig 2018-11-28 11:55:41 +04:00
k8s-ci-robot
710ea8c76f
Merge pull request #3333 from Shopify/dont-trust-by-default
breaking change: by default do not trust any client
2018-11-27 05:12:48 -08:00
Maxime Ginters
b6b221aebb Watch controller Pods list 2018-11-26 15:35:31 -05:00
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
Manuel Alejandro de Brito Fontes
a5341822d5 Increase log level when there is an invalid size value 2018-11-20 15:09:03 -03: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
af2dce901d
Fix tests 2018-11-18 08:17:18 -03:00
Manuel Alejandro de Brito Fontes
654eceda46
Add tcp e2e test 2018-11-16 21:07:52 -03: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
k8s-ci-robot
a22c656f30
Merge pull request #3409 from Shopify/client-max-body-size
Convert isValidClientBodyBufferSize to something more generic
2018-11-13 08:36:06 -08:00
Maxime Ginters
0f3e2b9bf0 Convert isValidClientBodyBufferSize to something more generic and use it for client_max_body_size 2018-11-13 10:11:40 -05:00
mikeweiwei
2850fb538a fix logging calls 2018-11-13 16:02:27 +08:00
Elvin Efendi
5f3b48e16d breaking change: do not trust x-forwarded-* headers by default 2018-11-13 10:35:59 +04:00
k8s-ci-robot
950a2f9174
Merge pull request #3387 from xichengliudui/fix181109
Modify the wrong function name
2018-11-09 06:14:55 -08:00
xichengliudui
d2b1d37ee3 Modify the wrong function name 2018-11-08 15:17:40 -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
k8s-ci-robot
08d5ffabbf
Merge pull request #3367 from aledbf/503-restart
Remove reloads when there is no endpoints
2018-11-06 06:39:04 -08:00
Manuel Alejandro de Brito Fontes
3838145a8c
Remove reloads when there is no endpoints 2018-11-06 09:26:04 -03:00
k8s-ci-robot
ecf605bf60
Merge pull request #3369 from SataQiu/fix-20181106
Fix some typos
2018-11-06 04:02:10 -08:00
k8s-ci-robot
c19f7eb1df
Merge pull request #3370 from xichengliudui/fix181106
Fix typo: whitlelist -> whitelist
2018-11-06 04:00:49 -08:00
xichengliudui
a13ea30e6d Fix typo: whitlelist -> whitelist 2018-11-06 04:59:03 -05:00
SataQiu
76b5a7b45e fix typos 2018-11-06 15:58:56 +08:00
mooncake
4b518ec03c Fix some typos
Signed-off-by: mooncake <xcoder@tenxcloud.com>
2018-11-05 22:10:11 +08:00
liuwei
ce6e564f82 merge from master 2018-11-02 13:13:24 +08:00
Manuel Alejandro de Brito Fontes
71ebe1cba5 Code linting 2018-10-30 20:46:48 -03:00
k8s-ci-robot
bec97b36c7
Merge pull request #3321 from mbode/geoip2
Add configuration for geoip2 module
2018-10-30 05:09:38 -07:00
Maximilian Bode
c27c57dc8b Add configuration for geoip2 module
Based on closed PRs #2551, #2755
2018-10-29 21:25:23 +01:00
Manuel Alejandro de Brito Fontes
fed013ab6f Fix status update in case of connection errors 2018-10-29 13:01:41 -03:00
liuwei
ad57c76b73 Support cookie expires 2018-10-29 15:21:10 +08:00
Henry Tran
3cbfd63992 Refactor EWMA to not use shared dictionaries 2018-10-25 22:33:42 +04:00
Zenara Daley
9f2a0b6363 Add healthcheck timeout as CLA 2018-10-24 16:02:28 -04: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
Elvin Efendi
cdb244e579 fix two bugs with backend-protocol annotation 2018-10-19 09:11:21 -04:00
Manuel Alejandro de Brito Fontes
dc553d8f91 Refactor probe url requests 2018-10-15 16:29:32 -03:00
Manuel Alejandro de Brito Fontes
1b63ca355f
Improve dynamic lua confguration 2018-10-12 14:29:41 -03:00
k8s-ci-robot
9af9ef5fd9
Merge pull request #3230 from reactiveops/backoff-dynamic-config
Retry initial backend configuration
2018-10-12 10:01:21 -07:00
Corey O'Brien
e0020e22d1 Switch to using wait.ExponentialBackoff 2018-10-12 09:19:20 -04:00
k8s-ci-robot
0baf62dd6a
Merge pull request #3222 from diazjf/add-timeouts-and-such
Allow Ability to Configure Upstream Keepalive
2018-10-12 06:15:09 -07:00
Corey O'Brien
ee6bb942e5 Retry initial backend configuration 2018-10-12 00:12:59 -04:00
Fernando Diaz
12955a4a1b Allow Ability to Configure Upstream Keepalive
Allows Upstream Keepalive values like keepalive_timeout and
keepalive_requests to be configured via ConfigMap.

Fixes #3099
2018-10-11 20:46:42 -05:00
Manuel Alejandro de Brito Fontes
4c46ee95c9
Update leader election methods 2018-10-10 21:46:45 -03:00
k8s-ci-robot
3038da8719
Merge pull request #3215 from hchenxa/hchenxa
align opentracing user-guide with nginx configmap configuration
2018-10-10 06:56:15 -07:00
k8s-ci-robot
3edf11b85f
Merge pull request #3198 from aledbf/only-dynamic
Only support dynamic configuration
2018-10-10 05:07:34 -07:00
Hui Chen
f8052385f9 aline opentracing user-guide with nginx configmap configuration 2018-10-10 11:25:53 +08:00
Manuel Alejandro de Brito Fontes
74c2f93de6
Only support dynamic configuration 2018-10-09 22:05:45 -03:00
k8s-ci-robot
f56ab42cd2
Merge pull request #3194 from bshelton229/literal-dollar-character
Make literal $ character work in set $location_path
2018-10-09 15:52:39 -07:00
Bryan Shelton
3686e4f366 Move escapeLocationPathVar to escapeLiteralDollar 2018-10-09 12:58:50 -07: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
Bryan Shelton
3dc131bd57 Make literal $ character work in set $location_path 2018-10-07 12:58:39 -07:00
Manuel Alejandro de Brito Fontes
44bdc7eb59 Remove support for TCP and UDP services 2018-10-07 10:53:37 -03:00
Zenara Daley
bd3f56eaa0 allow curly braces to be used in regex paths 2018-10-04 10:58:38 -04:00
k8s-ci-robot
d9f58144eb
Merge pull request #3145 from Shopify/regex-modifier
Add "use-regex" Annotation to Toggle Regular Expression Location Modifier
2018-10-01 11:31:43 -07:00
Zenara Daley
f29bdc3e8d Add 'use regex' annotation to toggle nginx regex location modifier 2018-10-01 13:54:11 -04:00
Zenara Daley
a7c2633e4e remove payload from log (#3135) 2018-09-26 12:09:14 -03:00
Elvin Efendi
b3a22f7fc0 do not require --default-backend-service 2018-09-25 21:14:28 -04:00
k8s-ci-robot
6393ca6aaf
Merge pull request #2997 from StarOfService/global-block-ip-ua-ref
Provide possibility to block IPs, User-Agents and Referers globally
2018-09-25 05:51:56 -07:00
Pavel Sinkevych
7212d0081b Provide possibility to block CIDRs, User-Agents and Referers globally 2018-09-25 14:16:20 +03:00
Manuel de Brito Fontes
91ae204f6c Replace standard json encoding with jsoniter 2018-09-22 14:25:01 -03:00
Zenara Daley
0de19c8062 Fix/add unit tests; Styling changes 2018-09-14 15:07:57 -04:00
Zenara Daley
0e6f0bb88d enforce ^~ location modifier when rewrite-target annotation is set 2018-09-13 10:39:52 -04:00
Manuel de Brito Fontes
281318b4b6 Replace client-go deprecated method 2018-09-10 14:42:10 -03:00
Manuel de Brito Fontes
361f06b791 Join host/port with go helper (supports ipv6) 2018-09-09 16:34:18 -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
k8s-ci-robot
3f6314aa2f
Merge pull request #3016 from diazjf/better-logging
Log Errors Missing in Internal
2018-09-05 05:18:33 -07:00
Derek Perkins
9099f3b4db add support for http2-max-requests in configmap 2018-09-02 23:53:30 -06:00
Manuel de Brito Fontes
b0e242fe73 Add support for valgrind 2018-08-30 21:32:06 -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
16fce7444f
Check if cgroup cpu limits are defined to get the number of CPUs 2018-08-25 18:34:44 -03: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
Elvin Efendi
dc952dc462 consistently fallback to default certificate when TLS is configured 2018-08-22 20:53:25 -04:00
k8s-ci-robot
c083599a4b
Merge pull request #2899 from jeroenvand/jvd-fix-rewrite
fixed rewrites for paths not ending in /
2018-08-19 02:49:22 -07:00
Henry Tran
7faf089082 Add dynamic certificate feature to controller 2018-08-16 20:19:33 -04:00
Dario Nieuwenhuis
b5bcb93a4b
Merge branch 'master' into xff 2018-08-16 18:15:14 +02:00
Jeroen van Dongen
e428095e3c fixed rewrites for paths not ending in / 2018-08-15 21:15:40 +02: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
Manuel de Brito Fontes
f311668625 Add misspell target 2018-08-11 08:26:14 -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
Henry Tran
5200a38bd7 Add lua endpoint to handle certificates in dynamic configuration mode 2018-08-07 08:18:34 -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
9b3207d4c6
Merge pull request #2897 from aledbf/enable-reuseport
Enable reuse-port by default
2018-08-04 19:43:43 -07: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
Manuel de Brito Fontes
1d00a5c2bc Enable reuse-port by default 2018-08-04 17:43:34 -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
k8s-ci-robot
23ce9b5db1
Merge pull request #2808 from dongqi1990/bugfix-2799
fix the bug #2799, add prefix (?i) in rewrite statement.
2018-08-02 20:58:06 -07:00
dongqi1990
72a2aa171a fix the bug #2799, add prefix (?i) in rewrite statement and add new e2e
test.
2018-07-30 17:34:28 +08:00
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
Manuel Alejandro de Brito Fontes
8975800740
Add support to hide headers from upstream servers (#1928) 2018-01-18 16:37:22 -02:00
Manuel Alejandro de Brito Fontes
5a16a7aaa0
Fix doc links (#1925)
* Fix documentation links
* Replace external-traffic annotation
* Update awesome_bot docker image
2018-01-18 13:30:29 -02:00
Manuel Alejandro de Brito Fontes
b50cdc0256
Add option for reuseport in nginx listen section (#1919) 2018-01-17 21:12:46 -02:00
Manuel Alejandro de Brito Fontes
28058f0edc
Add support for jaeger backend (#1916) 2018-01-17 19:28:59 -02:00
Manuel Alejandro de Brito Fontes
3e7d1f9acf
Random string function should only contains letters (#1906) 2018-01-17 10:26:32 -02:00
Benji Visser
74451e6b1f updating nginx prometheus metrics names according to prometheus naming best practices (#1910) 2018-01-17 09:56:53 -02:00
Manuel Alejandro de Brito Fontes
142b444685
Refactor initial synchronization of ingress objects (#1891) 2018-01-09 10:53:08 -02:00
Manuel de Brito Fontes
03a1e20fde
Remove package to generate UUIDs 2018-01-07 12:07:33 -03:00
Manuel de Brito Fontes
c8c4610714
Remove k8s.io/kubernetes/pkg/api package 2018-01-07 12:06:07 -03:00
Manuel de Brito Fontes
f26331844b
Remove deprecated cloner helper 2018-01-07 12:03:00 -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
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 de Brito Fontes
a4f67c0853 Fix verification of boilerplate, style and file headers 2017-12-03 13:58:23 -03:00
Manuel de Brito Fontes
3058e7758d Add setting to configure proxy responses in the stream section 2017-11-30 17:53:23 -03:00
Manuel de Brito Fontes
161b485ae0 Add option to configure the redirect code 2017-11-30 12:08:43 -03: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
f7e910e960 Fix ingress.class annotation 2017-11-28 19:27:38 -03:00
Manuel de Brito Fontes
3526785b96 Fix reference to removed lister 2017-11-27 19:22:59 -03:00
Manuel Alejandro de Brito Fontes
82b4d2a0af
Merge pull request #1231 from canhnt/sticky-path-rewriter
Add tests to cover sticky cookie and rewrite-target annotations
2017-11-23 20:08:04 -03:00
Canh Ngo
363d3c1f4f Added a unit-test to verify sticky cookie to work with redirection 2017-11-23 22:20:29 +01: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
a36cd10041 Do not update a secret not referenced by ingress rules 2017-11-14 17:50:08 -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
fdd231816c Disable features not availables in some platforms 2017-11-12 11:12:58 -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
97577c07a5 Include a buffer pool to improve memory usage 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