Commit Graph

149 Commits

Author SHA1 Message Date
Manuel Alejandro de Brito Fontes 630278f730 Increase e2e concurrency 2020-03-27 21:42:23 -03:00
Manuel Alejandro de Brito Fontes a46126a034 Update client-go methods to support context and and new create and delete options 2020-03-27 19:52:51 -03:00
Maxim Pogozhiy 78576a9bbc Add Maxmind Editions support 2020-03-19 19:36:10 +07:00
Manuel Alejandro de Brito Fontes 2c5819e1b3
Add flag to allow custom ingress status update intervals (#5050) 2020-02-10 16:52:50 -03:00
Manuel Alejandro de Brito Fontes 66ef05849f
Refactor how to handle sigterm and nginx process goroutine (#4959) 2020-01-25 14:52:31 -03:00
Manuel Alejandro de Brito Fontes 74944b99e9
Enable download of GeoLite2 databases (#4896) 2020-01-08 19:46:43 -03:00
Manuel Alejandro de Brito Fontes 8db541e24b
Remove /build endpoint (#4875) 2019-12-31 13:49:04 -03:00
Manuel Alejandro de Brito Fontes 1d46ec2eb2 Cleanup test 2019-12-10 22:45:11 -03:00
Manuel Alejandro de Brito Fontes 19d596b72b
Allow custom CA certificate when flag --api-server is specified (#4807) 2019-12-05 19:12:54 -03:00
Andrea Spacca 203a3ed455 ISSUE-4244 comply with --health-check-path (#4619) 2019-09-29 14:37:57 -03:00
Manuel Alejandro de Brito Fontes d5d2b4037c
Fix ports collision when hostNetwork=true (#4617) 2019-09-28 17:30:57 -03:00
Manuel Alejandro de Brito Fontes c2935ca35c
Refactor health checks and wait until NGINX process ends 2019-09-01 15:31:27 -04:00
Manuel Alejandro de Brito Fontes 23ed3ba4c4
Fix file permissions to support volumes 2019-08-15 20:48:37 -04:00
Manuel Alejandro de Brito Fontes 80bd481abb
Only support SSL dynamic mode 2019-08-13 17:33:34 -04:00
Pierrick Charron 29788452b6 Fix broken test's filename 2019-07-26 18:15:25 -04:00
Manuel Alejandro de Brito Fontes 3d7a09347d
Apply fixes suggested by staticcheck 2019-07-08 16:18:52 -04:00
Manuel Alejandro de Brito Fontes 8807db9748
Check and complete intermediate SSL certificates 2019-07-04 19:13:21 -04:00
Manuel Alejandro de Brito Fontes 004d0c8214
Fix go imports 2019-06-30 18:58:18 -04:00
Manuel Alejandro de Brito Fontes 3e86064e04
Remove kubeclient configuration 2019-06-29 16:12:59 -04:00
Kubernetes Prow Robot 6f1261015b
Merge pull request #4127 from aledbf/migration
Migrate to new networking.k8s.io/v1beta1 package
2019-06-13 09:28:19 -07:00
Manuel Alejandro de Brito Fontes 84102eec2b
Migrate to new networking.k8s.io/v1beta1 package 2019-06-13 11:32:39 -04:00
Colstuwjx b28577a4bf Fix: fillout missing health check timeout on health check. 2019-06-13 21:15:50 +08:00
Manuel Alejandro de Brito Fontes 32fda20378
Remove stop controller endpoint 2019-05-17 18:42:22 -04: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
Elvin Efendi 13a7e2c5d0 refactor GetFakeSSLCert 2019-04-14 09:35:48 -04:00
Elvin Efendi 417af76e97 properly handle default and custom default certs in dynamic ssl mode 2019-04-13 12:32:06 -04:00
Elvin Efendi 1d59e4f1fe enable dynamic SSL mode by default 2019-03-17 14:58:06 -04:00
Alex Kursell d8fe2d992b Remove useless nodeip call and deprecate --force-namespace-isolation 2019-03-11 18:19:13 -04:00
Elvin Efendi 70df5e03e5 clean up certificate processing 2019-03-11 00:53:06 -04:00
Manuel Alejandro de Brito Fontes 34b0580225
Replace Status port using a socket 2019-02-06 18:00:10 -03:00
Manuel Alejandro de Brito Fontes 3483eb375e Remove flag sort-backends 2019-01-11 14:43:02 -03: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
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
Guihua Zhu bb41a9d56f compare error with error types from k8s.io/apimachinery/pkg/api/errors
Signed-off-by: Guihua Zhu <zhuguihua@cmss.chinamobile.com>
2018-12-07 15:42:52 +08: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
Manuel Alejandro de Brito Fontes 168f30d1ec Revert removal of support for TCP and UDP services 2018-11-16 13:48:47 -03:00
mikeweiwei 9d227ab62d fix logging calls (#3260) 2018-10-27 08:16:34 -03:00
Zenara Daley 9f2a0b6363 Add healthcheck timeout as CLA 2018-10-24 16:02:28 -04:00
k8s-ci-robot 9fe500319c
Merge pull request #3282 from SataQiu/fix-20181024
Fix some typos
2018-10-24 06:00:09 -07:00
SataQiu 51fffc653d fix typos 2018-10-24 20:30:56 +08:00
Hui Chen b276800d2c remote the command args of enable-dynamic-configuration 2018-10-16 10:52:19 +08:00
Manuel Alejandro de Brito Fontes 74c2f93de6
Only support dynamic configuration 2018-10-09 22:05:45 -03:00
Manuel Alejandro de Brito Fontes 0971f8443f Flags publish-service and publish-status-address are mutually exclusive 2018-10-08 15:00:38 -03:00
Manuel Alejandro de Brito Fontes 44bdc7eb59 Remove support for TCP and UDP services 2018-10-07 10:53:37 -03:00
Elvin Efendi b3a22f7fc0 do not require --default-backend-service 2018-09-25 21:14:28 -04:00
Manuel de Brito Fontes 55ccaf4be3 Update prometheus methods 2018-09-22 14:54:11 -03:00
stepyu 1d0e752339 fix typos 2018-09-21 16:19:16 +08:00
Lei Gong e73510d818 fix some typos
Signed-off-by: Lei Gong <lgong@alauda.io>
2018-09-08 21:49:04 +08:00
Henry Tran 7faf089082 Add dynamic certificate feature to controller 2018-08-16 20:19:33 -04:00
Han Sol Park 63aef5d652
Fixed typo in flags.go
ssl-passthrough-proxy-port
2018-08-13 18:14:33 +09:00
Manuel de Brito Fontes b148f113ae
Use authbind to bind privileged ports 2018-08-05 11:18:50 -04:00
Elvin Efendi 8a67ace5c3 enable dynamic backend configuration by default 2018-07-26 15:16:06 -04: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
Manuel de Brito Fontes d5cf22c129 Simplify handler registration and update promhttp 2018-07-12 13:18:43 -04:00
Manuel de Brito Fontes 1542a12764
Refactor controller metrics interface 2018-07-12 12:46:34 -04:00
Manuel de Brito Fontes 7744d497cd Fix spelling mistake 2018-07-09 17:47:48 -04:00
Antoine Cotten 130866b51c
Proofreading 2018-06-25 00:04:43 +02:00
Manuel Alejandro de Brito Fontes c4ec773966
Use a unix socket instead udp for reception of metrics (#2652) 2018-06-17 11:04:03 -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
Manuel de Brito Fontes 80f77b7a22
Disable resync period 2018-06-13 11:28:17 -04:00
Antoine Cotten a74c34dbf1
Proofread cmd package and update flags description 2018-06-11 13:15:45 +02:00
Manuel de Brito Fontes 631edb30d9
Update documentation for sort-backends flag 2018-06-02 17:36:08 -04:00
Manuel de Brito Fontes 71b07da0f2 Print information about NGINX version 2018-05-27 19:51:07 -04:00
Manuel de Brito Fontes 55051743fd Refactor update of status removing initial check for loadbalancer 2018-05-13 09:38:30 -04:00
AdamDang d2d7d677a0
Correct some info in flags.go
Correct some info in flags.go
2018-04-15 23:49:00 +08: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
Manuel Alejandro de Brito Fontes ee30c55dfc
Disable dynamic configuration in s390x and ppc64le (#2298) 2018-04-05 17:37:21 -03:00
Elvin Efendi c90a4e811e Live Nginx (re)configuration without reloading (#2174) 2018-03-18 10:13:41 -03:00
Haoyun d27a13223f fix grammer mistake (#2200)
fix grammer mistake
```release-note
None
```
2018-03-16 09:54:17 -03:00
Antoine Cotten 01399dd625 Remove duplicated BuildConfigFromFlags func (#2162)
Use BuildConfigFromFlags from k8s.io/client-go/tools/clientcmd instead
of local copy.
2018-03-01 10:27:53 -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 809aab7c82
Remove deprecated flag disable-node-list (#2119) 2018-02-20 11:56:25 -08:00
Manuel Alejandro de Brito Fontes 220ee035ac
Retry initial connection to the Kubernetes cluster (#2089) 2018-02-17 12:25:04 -08:00
Manuel de Brito Fontes 4fe8fc2e41 Increase timeouts to run pprof 2018-01-18 17:55:56 -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 3e7d1f9acf
Random string function should only contains letters (#1906) 2018-01-17 10:26:32 -02:00
hzxuzhonghu 3fb49cb28a remove duplicated code 2018-01-09 11:19:06 +08:00
Max Laverse 0561ea8b87 Add control of the configuration refresh interval 2017-12-05 22:17:38 +01:00
Manuel de Brito Fontes f055022e58 Simplify annotations 2017-11-23 14:11:31 -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 Alejandro de Brito Fontes b1e8ba1662
Merge pull request #1724 from aledbf/cleanup-main
Cleanup main
2017-11-18 08:09:47 -03:00
Manuel de Brito Fontes 3a7203c13a Cleanup main 2017-11-18 07:18:17 -03:00
Manuel de Brito Fontes c53fe01fad Add timeouts to http server and additional pprof routes 2017-11-18 07:11:15 -03:00
Manuel Alejandro de Brito Fontes a479bcd4fb
Merge pull request #1699 from aledbf/disable-cert-chain-validation
Refactor SSL intermediate CA certificate check
2017-11-13 13:55:13 -03:00
Mengxin Liu b3cec74e79 fix: Core() is deprecated use CoreV1() instead. 2017-11-13 23:45:01 +08:00
Manuel de Brito Fontes ff9e804d9a Refactor SSL intermediate CA certificate check 2017-11-13 12:07:14 -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
Manuel de Brito Fontes f035733477 Fix default SSL certificate flag docs [ci skip] 2017-11-10 15:40:10 -03:00
Manuel de Brito Fontes 754cc6a665 Fix diff execution 2017-11-05 23:53:38 -03:00
Manuel de Brito Fontes 3bbe2490b3 Remove node lister 2017-11-05 20:19:38 -03:00
Manuel de Brito Fontes 311d286a34 Fix license in header of files 2017-11-05 18:35:46 -03:00
Manuel de Brito Fontes 86f39d9deb Remove GenericController and add tests 2017-11-05 17:51:05 -03:00
Manuel de Brito Fontes d6d374b28d Update dependencies 2017-10-06 19:40:31 -03:00
Manuel de Brito Fontes 1e7489927c Refactor go packages 2017-10-06 17:11:04 -03:00