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
Kubernetes Prow Robot
ac043771ff
Merge pull request #3990 from ElvinEfendi/fix-dynamic-cert-issue
...
Fix dynamic cert issue with default-ssl-certificate
2019-04-09 20:30:11 -07:00
Elvin Efendi
fc6e7c9be0
fix dynamic cert bug
2019-04-09 22:11:21 -04:00
Manuel Alejandro de Brito Fontes
6d02a9e475
Refactor isIterable
2019-04-08 10:11:44 -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
2dbc1ea3b3
Merge pull request #3870 from Shopify/improve-plugin
...
Improve kubectl plugin
2019-03-14 07:36:30 -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
Alex Kursell
9d62ec97de
Improve kubectl plugin
2019-03-12 12:52:23 -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
Kubernetes Prow Robot
55bda6e7f4
Merge pull request #3887 from Shopify/remove-nodeip
...
Remove useless nodeip calls and deprecate --force-namespace-isolation
2019-03-11 16:38:38 -07:00
Alex Kursell
d8fe2d992b
Remove useless nodeip call and deprecate --force-namespace-isolation
2019-03-11 18:19:13 -04:00
Kubernetes Prow Robot
869095866a
Merge pull request #3875 from aledbf/fix-auth-secret
...
Allow the use of a secret located in a different namespace
2019-03-11 12:16:12 -07:00
Manuel Alejandro de Brito Fontes
870b89c72b
Fix documentation
2019-03-11 13:21:10 -03: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
476d0106d6
Fix status tests
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
Manuel Alejandro de Brito Fontes
d403b3ef86
Allow the use of a secret located in a different namespace
2019-03-11 11:16:10 -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
c934509309
fix function comment
2019-03-11 00:53:06 -04: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
c28247abf6
adjust unit tests
2019-03-11 00:53:06 -04:00
Elvin Efendi
70df5e03e5
clean up certificate processing
2019-03-11 00:53:06 -04:00
Elvin Efendi
0dc5a1d2e2
do not repeat cert verification against root ca
2019-03-11 00:53:06 -04:00
Elvin Efendi
301a4fb9a5
extract common logic into a helper
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
Kubernetes Prow Robot
b1c2812dc5
Merge pull request #3849 from trnl/master
...
Use Gauge instead of Counter for connections_active Prometheus metric
2019-03-05 03:09:00 -08:00
Uladzimir Mihura
13d0f0ddab
Use Gauge instead of Counter for connections_active Prometheus metric
2019-03-04 22:35:45 +01:00
Thibault Jamet
27a98f2920
Fix race condition in metric process collector test
...
There was a goroutine started to log things upon a test that could be
ended at the time `cmd.Wait()` ends.
To solve the problem, when the sub-test ends, ensure we wait until the
command ends when ending the test
The output of `make test` before the fix shows:
```
=== RUN TestNewUDPLogListener
==================
WARNING: DATA RACE
Read at 0x00c0002a8643 by goroutine 74:
testing.(*common).logDepth()
/usr/local/go/src/testing/testing.go:629 +0x132
testing.(*common).Logf()
/usr/local/go/src/testing/testing.go:614 +0x90
k8s.io/ingress-nginx/internal/ingress/metric/collectors.TestProcessCollector.func1.1()
/go/src/k8s.io/ingress-nginx/internal/ingress/metric/collectors/process_test.go:54 +0x140
Previous write at 0x00c0002a8643 by goroutine 72:
testing.tRunner.func1()
/usr/local/go/src/testing/testing.go:856 +0x33e
testing.tRunner()
/usr/local/go/src/testing/testing.go:869 +0x17f
Goroutine 74 (running) created at:
k8s.io/ingress-nginx/internal/ingress/metric/collectors.TestProcessCollector.func1()
/go/src/k8s.io/ingress-nginx/internal/ingress/metric/collectors/process_test.go:50 +0x218
testing.tRunner()
/usr/local/go/src/testing/testing.go:865 +0x163
Goroutine 72 (finished) created at:
testing.(*T).Run()
/usr/local/go/src/testing/testing.go:916 +0x699
testing.runTests.func1()
/usr/local/go/src/testing/testing.go:1157 +0xa8
testing.tRunner()
/usr/local/go/src/testing/testing.go:865 +0x163
testing.runTests()
/usr/local/go/src/testing/testing.go:1155 +0x523
testing.(*M).Run()
/usr/local/go/src/testing/testing.go:1072 +0x2eb
main.main()
_testmain.go:52 +0x222
==================
--- PASS: TestNewUDPLogListener (0.00s)
```
after the patch:
```
=== RUN TestNewUDPLogListener
--- PASS: TestNewUDPLogListener (0.01s)
```
Change-Id: I8ea246d14f5f80b330be19dd5b8299c6762f6d6b
2019-03-04 21:54:42 +01: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
Alex Kursell
28d99c6d7d
Set default for satisfy annotation to nothing
2019-02-26 15:05:45 -05:00
Mikhail Marchenko
8b3702c829
Enable access log for default backend
...
disable log on default_server
2019-02-26 11:14:31 +03:00
Alex Kursell
c96eae3015
Add /dbg certs command
2019-02-25 11:38:07 -05: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
Kubernetes Prow Robot
debe933f43
Merge pull request #3793 from Shopify/update-mergo
...
Update mergo dependency
2019-02-22 12:07:39 -08:00
Alex Kursell
53538acbaf
Change Denied to *string
2019-02-22 11:48:13 -05:00
Alex Kursell
62191fc3e2
Fix test
2019-02-22 10:35:44 -05:00
Alex Kursell
6b6e7f5464
go fmt
2019-02-22 10:19:40 -05:00
Alex Kursell
521be9b258
Remove interface type from annotations.Ingress struct
2019-02-22 10:14:09 -05: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
Elvin Efendi
420d804cce
increase log verbosity for auth annotations
2019-02-21 16:19:10 -05: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
Kubernetes Prow Robot
15d5ef95ef
Merge pull request #3740 from Shopify/session-annotation-reload
...
Fix ingress updating for session-cookie-* annotation changes
2019-02-19 15:14:21 -08:00
Alex Kursell
c180a0998b
Fix session-cookie-* annotation reloading
2019-02-19 17:27:08 -05: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
b72dfa99d8
Merge pull request #3765 from ElvinEfendi/custom-http-error-bug-fix
...
simplify customhttperrors e2e test and add regression test and fix a bug
2019-02-14 06:51:33 -08:00
Elvin Efendi
94a9a47225
fix no config change bug with custom-http-errors
2019-02-14 08:29:31 -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
Kubernetes Prow Robot
9ba67992be
Merge pull request #3686 from Shopify/dbg-tool
...
Add debug binary to the docker image
2019-02-11 07:27:15 -08:00
Kubernetes Prow Robot
4b64453787
Merge pull request #3749 from diazjf/more-unit
...
Enhance Unit Tests for Annotations
2019-02-10 13:58:27 -08:00
Fernando Diaz
1da2900b9b
Enhance Unit Tests for Annotations
...
Adds unit tests for a variety of different annotations.
2019-02-10 14:44:11 -06: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
Alex Kursell
9534f8bc43
Add debug tool to image
2019-02-08 11:25:04 -05: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