Ricardo Katz
da98c744b9
Implement pathType validation ( #9511 )
2023-01-16 23:51:23 -03:00
Makhonin Alexey
39b5ce844b
Add new prometheus metric for orphaned ingress ( #8230 )
...
* Add new metric for orhaned ingress
* Fix const labels
* Fix after rebase
2023-01-16 04:22:51 -08:00
Marcus Noble
e7bee5308e
added option to disable sync event creation ( #8528 )
...
* added option to disable event creation
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
* Re-trigger github workflows
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
2023-01-09 06:37:31 -08:00
Tomas Hulata
3579ed0487
feat: switch from endpoints to endpointslices ( #8890 )
...
* endpointslices
Signed-off-by: tombokombo <tombo@sysart.tech>
* cleanup
Signed-off-by: tombokombo <tombo@sysart.tech>
* fix rbac
Signed-off-by: tombokombo <tombo@sysart.tech>
* fix comments
Signed-off-by: tombokombo <tombo@sysart.tech>
* cleanup store, add store tests
Signed-off-by: tombokombo <tombo@sysart.tech>
* fix copyright date
Signed-off-by: tombokombo <tombo@sysart.tech>
Signed-off-by: tombokombo <tombo@sysart.tech>
2022-09-23 12:38:04 -07:00
Ricardo Katz
c86d50ecef
Move APIs to be used by both controller and configurer ( #8854 )
2022-07-21 17:32:48 -07:00
Ricardo Katz
4c6a7ee158
Decouple shared functions between controllers ( #8829 )
...
* Decouple shared functions between controllers
* Apply suggestions from code review
Co-authored-by: Jintao Zhang <tao12345666333@163.com>
* Fix package names and fmt
Co-authored-by: Jintao Zhang <tao12345666333@163.com>
2022-07-20 11:53:44 -07:00
Ricardo Katz
89ed571d2a
Implement object deep inspector ( #8456 )
2022-04-11 07:06:07 -07:00
Elvin Efendi
04035cc1c2
Do not validate ingresses with unknown ingress class in admission webhook endpoint. ( #8221 )
2022-02-06 12:28:51 -08:00
Ricardo Katz
15567b07c0
Trim spaces from badword items ( #7921 )
2021-11-15 20:37:29 -03:00
zryfish
7203a0b8bd
support watch namespaces matched namespace selector ( #7472 )
...
skip caching namespaces at cluster scope if only watching single namespace
add --watch-namespace-selector in user guide
add e2e test
2021-11-12 11:46:28 -08:00
Ricardo Katz
67e13bf692
Add option to sanitize annotation inputs ( #7874 )
...
* Add option to sanitize annotation inputs
* Fix e2e tests after string sanitization
* Add proxy_pass and serviceaccount as denied values
2021-11-12 11:40:30 -08:00
Ricardo Katz
4fc57dcc49
Change enable-snippet to allow-snippet-annotation ( #7670 )
...
Signed-off-by: Ricardo Pchevuzinske Katz <rkatz@vmware.com>
2021-09-20 16:52:23 -07:00
Ricardo Katz
5e6ab651ec
Add option to force enabling snippet directives ( #7665 )
...
Signed-off-by: Ricardo Pchevuzinske Katz <ricardo.katz@gmail.com>
2021-09-19 12:40:08 -07:00
wenhuwang
6593cb244b
fix ingress-nginx panic when the certificate format is wrong. ( #7443 )
...
* fix ingress-nginx panic when the certificate format is wrong.
Signed-off-by: wang_wenhu <976400757@qq.com>
* Add unit test.
Signed-off-by: wang_wenhu <976400757@qq.com>
* Update controller_test.go
2021-08-23 18:58:14 -07:00
Ricardo Katz
90c79689c4
Release v1 ( #7470 )
...
* Drop v1beta1 from ingress nginx (#7156 )
* Drop v1beta1 from ingress nginx
Signed-off-by: Ricardo Pchevuzinske Katz <ricardo.katz@gmail.com>
* Fix intorstr logic in controller
Signed-off-by: Ricardo Pchevuzinske Katz <ricardo.katz@gmail.com>
* fixing admission
Signed-off-by: Ricardo Pchevuzinske Katz <ricardo.katz@gmail.com>
* more intorstr fixing
* correct template rendering
Signed-off-by: Ricardo Pchevuzinske Katz <ricardo.katz@gmail.com>
* Fix e2e tests for v1 api
Signed-off-by: Ricardo Pchevuzinske Katz <ricardo.katz@gmail.com>
* Fix gofmt errors
* This is finally working...almost there...
Signed-off-by: Ricardo Pchevuzinske Katz <ricardo.katz@gmail.com>
* Re-add removed validation of AdmissionReview
* Prepare for v1.0.0-alpha.1 release
Signed-off-by: Ricardo Pchevuzinske Katz <ricardo.katz@gmail.com>
* Update changelog and matrix table for v1.0.0-alpha.1 (#7274 )
Signed-off-by: Ricardo Pchevuzinske Katz <ricardo.katz@gmail.com>
* add docs for syslog feature (#7219 )
* Fix link to e2e-tests.md in developer-guide (#7201 )
* Use ENV expansion for namespace in args (#7146 )
Update the DaemonSet namespace references to use the `POD_NAMESPACE` environment variable in the same way that the Deployment does.
* chart: using Helm builtin capabilities check (#7190 )
Signed-off-by: Jintao Zhang <zhangjintao9020@gmail.com>
* Update proper default value for HTTP2MaxConcurrentStreams in Docs (#6944 )
It should be 128 as documented in https://github.com/kubernetes/ingress-nginx/blob/master/internal/ingress/controller/config/config.go#L780
* Fix MaxWorkerOpenFiles calculation on high cores nodes (#7107 )
* Fix MaxWorkerOpenFiles calculation on high cores nodes
* Add e2e test for rlimit_nofile
* Fix doc for max-worker-open-files
* ingress/tcp: add additional error logging on failed (#7208 )
* Add file containing stable release (#7313 )
* Handle named (non-numeric) ports correctly (#7311 )
Signed-off-by: Carlos Panato <ctadeu@gmail.com>
* Updated v1beta1 to v1 as its deprecated (#7308 )
* remove mercurial from build (#7031 )
* Retry to download maxmind DB if it fails (#7242 )
* Retry to download maxmind DB if it fails.
Signed-off-by: Sergey Shakuto <sshakuto@infoblox.com>
* Add retries count arg, move retry logic into DownloadGeoLite2DB function
Signed-off-by: Sergey Shakuto <sshakuto@infoblox.com>
* Reorder parameters in DownloadGeoLite2DB
Signed-off-by: Sergey Shakuto <sshakuto@infoblox.com>
* Remove hardcoded value
Signed-off-by: Sergey Shakuto <sshakuto@infoblox.com>
* Release v1.0.0-alpha.1
* Add changelog for v1.0.0-alpha.2
* controller: ignore non-service backends (#7332 )
* controller: ignore non-service backends
Signed-off-by: Carlos Panato <ctadeu@gmail.com>
* update per feedback
Signed-off-by: Carlos Panato <ctadeu@gmail.com>
* fix: allow scope/tcp/udp configmap namespace to altered (#7161 )
* Lower webhook timeout for digital ocean (#7319 )
* Lower webhook timeout for digital ocean
* Set Digital Ocean value controller.admissionWebhooks.timeoutSeconds to 29
* update OWNERS and aliases files (#7365 ) (#7366 )
Signed-off-by: Carlos Panato <ctadeu@gmail.com>
* Downgrade Lua modules for s390x (#7355 )
Downgrade Lua modules to last known working version.
* Fix IngressClass logic for newer releases (#7341 )
* Fix IngressClass logic for newer releases
Signed-off-by: Ricardo Pchevuzinske Katz <ricardo.katz@gmail.com>
* Change e2e tests for the new IngressClass presence
* Fix chart and admission tests
Signed-off-by: Ricardo Pchevuzinske Katz <ricardo.katz@gmail.com>
* Fix helm chart test
Signed-off-by: Ricardo Pchevuzinske Katz <ricardo.katz@gmail.com>
* Fix reviews
* Remove ingressclass code from admission
* update tag to v1.0.0-beta.1
* update readme and changelog for v1.0.0-beta.1
* Release v1.0.0-beta.1 - helm and manifests (#7422 )
* Change the order of annotation just to trigger a new helm release (#7425 )
* [cherry-pick] Add dev-v1 branch into helm releaser (#7428 )
* Add dev-v1 branch into helm releaser (#7424 )
* chore: add link for artifacthub.io/prerelease annotations
Signed-off-by: Jintao Zhang <zhangjintao9020@gmail.com>
Co-authored-by: Ricardo Katz <rikatz@users.noreply.github.com>
* k8s job ci pipeline for dev-v1 br v1.22.0 (#7453 )
* k8s job ci pipeline for dev-v1 br v1.22.0
Signed-off-by: Neha Lohia <nehapithadiya444@gmail.com>
* k8s job ci pipeline for dev-v1 br v1.21.2
Signed-off-by: Neha Lohia <nehapithadiya444@gmail.com>
* remove v1.21.1 version
Signed-off-by: Neha Lohia <nehapithadiya444@gmail.com>
* Add controller.watchIngressWithoutClass config option (#7459 )
Signed-off-by: Akshit Grover <akshit.grover2016@gmail.com>
* Release new helm chart with certgen fixed (#7478 )
* Update go version, modules and remove ioutil
* Release new helm chart with certgen fixed
* changed appversion, chartversion, TAG, image (#7490 )
* Fix CI conflict
* Fix CI conflict
* Fix build.sh from rebase process
* Fix controller_test post rebase
Co-authored-by: Tianhao Guo <rggth09@gmail.com>
Co-authored-by: Ray <61553+rctay@users.noreply.github.com>
Co-authored-by: Bill Cassidy <cassid4@gmail.com>
Co-authored-by: Jintao Zhang <tao12345666333@163.com>
Co-authored-by: Sathish Ramani <rsathishx87@gmail.com>
Co-authored-by: Mansur Marvanov <nanorobocop@gmail.com>
Co-authored-by: Matt1360 <568198+Matt1360@users.noreply.github.com>
Co-authored-by: Carlos Tadeu Panato Junior <ctadeu@gmail.com>
Co-authored-by: Kundan Kumar <kundan.kumar@india.nec.com>
Co-authored-by: Tom Hayward <thayward@infoblox.com>
Co-authored-by: Sergey Shakuto <sshakuto@infoblox.com>
Co-authored-by: Tore <tore.lonoy@gmail.com>
Co-authored-by: Bouke Versteegh <info@boukeversteegh.nl>
Co-authored-by: Shahid <shahid@us.ibm.com>
Co-authored-by: James Strong <strong.james.e@gmail.com>
Co-authored-by: Long Wu Yuan <longwuyuan@gmail.com>
Co-authored-by: Jintao Zhang <zhangjintao9020@gmail.com>
Co-authored-by: Neha Lohia <nehapithadiya444@gmail.com>
Co-authored-by: Akshit Grover <akshit.grover2016@gmail.com>
2021-08-21 13:42:00 -07:00
Ricardo Katz
d226d831bd
Update go version, modules and remove ioutil
2021-08-06 14:15:21 -03:00
wasker
f222c752be
Enable session affinity for canaries ( #7371 )
2021-07-29 14:23:19 -07:00
Aditya Sharma
475bcde64c
Skip validation checks if an ingress is marked as deleted ( #7216 )
...
Signed-off-by: Aditya Sharma <git@adi.run>
2021-06-08 09:27:34 -07:00
qianyong
b6dc384afb
Bugfix: non-host canary ingress use default server name as host to merge
2021-05-14 10:25:12 +08:00
Mahnoor Mehboob
bc8a731e28
reset backend and disableCatchAll to og value
2021-04-26 17:32:50 -04:00
Mahnoor Mehboob
8f7fecab17
Deny catch-all ingress when DisableCatchAll is set
2021-04-24 11:49:45 -04:00
Josh Soref
a8728f3d2c
Spelling
2020-12-15 16:10:48 -05:00
Manuel Alejandro de Brito Fontes
1389cc0e80
Refactor extraction of ingress pod details
2020-11-19 17:31:28 -03:00
Manuel Alejandro de Brito Fontes
3f153add00
Refactor handling of path Prefix and Exact
2020-11-10 07:21:34 -03:00
Manuel Alejandro de Brito Fontes
a767b1d906
Cleanup
2020-09-27 17:16:09 -03:00
Manuel Alejandro de Brito Fontes
29ea30a4e8
Add events for NGINX reloads
2020-09-27 17:16:09 -03:00
Manuel Alejandro de Brito Fontes
7722fa38aa
Add admission controller e2e test
2020-09-26 16:06:58 -03:00
Matthew Silverman
9612180f6e
reject annotations with default prefix in the case of an override
2020-09-10 09:16:44 -04:00
Andreas Sommer
c775b439dc
Case-insensitive TLS host matching
2020-04-28 11:07:43 +02:00
Manuel Alejandro de Brito Fontes
a95d850384
Add support for PathTypeExact
2020-04-23 11:12:37 -04:00
Manuel Alejandro de Brito Fontes
efbb3f9fc8
Add support for IngressClass and ingress.class annotation
2020-04-22 09:15:32 -04:00
Manuel Alejandro de Brito Fontes
04ef782c57
Migrate ingress.class annotation to new IngressClassName field
2020-03-31 12:20:01 -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
Laszlo Janosi
ced67e53a1
New logic: proxy-ssl parameters can be applied on locations only
...
Add: new parameter in the ConfigMap to control whether the proxy-ssl parameters of an Ingress should be applied on server and location levels, or only on location level
Add: logic in the config handling to work according to the new ConfigMap parameter
Add: unit test case
2020-01-29 10:00:55 +01:00
qianyong
435377f47f
Fix panic on multiple ingress mess up upstream is primary or not
2019-08-30 07:32:02 +08: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
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
84102eec2b
Migrate to new networking.k8s.io/v1beta1 package
2019-06-13 11:32:39 -04:00
Manuel Alejandro de Brito Fontes
bae49a4657
Refactor ListIngresses to add filters
2019-05-22 05:37:44 -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
b1a6aa2973
make sure unit test create fakecertificate
2019-04-13 16:35:52 -04:00
Maxime Ginters
1678d99a03
Add --disable-catch-all option to disable catch-all server
2018-12-21 13:22:26 -05:00
Maxime Ginters
af460f7e15
Fix a bug with Canary becoming main server
2018-12-06 11:04:32 -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
Maxime Ginters
12766cdfc6
Use struct to pack Ingress and its annotations
2018-11-20 09:38:22 -05: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
Antoine Cotten
02219bdfb8
Improve best-cert guessing with empty tls.hosts
2018-06-25 01:59:50 +02:00