Skip to content

Latest commit

 

History

History
724 lines (548 loc) · 53.7 KB

CHANGELOG.md

File metadata and controls

724 lines (548 loc) · 53.7 KB

Changelog

1.8.0

OVERVIEW:

Release 1.8.0 includes:

  • Support for NGINX App Protect Web Application Firewall.
  • Support for configuration snippets and custom template for VirtualServer and VirtualServerRoute resources.
  • Support for request/response header manipulation and request URI rewriting for VirtualServer/VirtualServerRoute.
  • Introducing a new configuration resource - Policy - with the first policy for IP-based access control.

You will find the complete changelog for release 1.8.0, including bug fixes, improvements, and changes below.

FEATURES FOR VIRTUALSERVER AND VIRTUALSERVERROUTE RESOURCES:

  • 1036: Add VirtualServer custom template support.
  • 1028: Add access control policy.
  • 1019: Add VirtualServer/VirtualServerRoute snippets support.
  • 1006: Add request/response modifiers to VS and VSR.
  • 994: Support Class Field in VS/VSR.
  • 973: Add status to VirtualServer and VirtualServerRoute.

FEATURES:

  • 1035: Support for App Protect module.
  • 1029: Add readiness endpoint.

IMPROVEMENTS:

BUGFIXES:

  • 1030: Fix port range validation in cli arguments.
  • 953: Fix error logging of master/minion ingresses.

HELM CHART:

  • The version of the helm chart is now 0.6.0.
  • Add new parameters to the Chart: controller.appprotect.enable, controller.globalConfiguration.create, controller.globalConfiguration.spec, controller.readyStatus.enable, controller.readyStatus.port, controller.config.annotations, controller.reportIngressStatus.annotations. Added in 1035, 1034, 1029, 1003 thanks to RubyLangdon.
  • 1047 and 1009: Change how Helm manages the custom resource defintions (CRDs) to support installing multiple Ingress Controller releases. Note: If you're using the custom resources (controller.enableCustomResources is set to true), this is a breaking change. See the HELM UPGRADE section below for the upgrade instructions.

CHANGES:

  • Update NGINX version to 1.19.1.
  • Update NGINX Plus to R22.
  • 1029: Add readiness endpoint. The Ingress Controller now exposes a readiness endpoint on port 8081 and the path /nginx-ready. The endpoint returns a 200 response after the Ingress Controller finishes the initial configuration of NGINX at the start. The pod template was updated to use that endpoint in a readiness probe.
  • 980: Enable leader election by default.

UPGRADE:

  • For NGINX, use the 1.8.0 image from our DockerHub: nginx/nginx-ingress:1.8.0, nginx/nginx-ingress:1.8.0-alpine or nginx-ingress:1.8.0-ubi
  • For NGINX Plus, please build your own image using the 1.8.0 source code.
  • For Helm, use version 0.6.0 of the chart.

HELM UPGRADE:

If you're using custom resources like VirtualServer and TransportServer (controller.enableCustomResources is set to true), after you run the helm upgrade command, the CRDs and the corresponding custom resources will be removed from the cluster. Before upgrading, make sure to back up the custom resources. After running the helm upgrade command, run kubectl apply -f deployments/helm-chart/crds to re-install the CRDs and then restore the custom resources.

NOTES:

  • As part of installing a release, Helm will install the CRDs unless that step is disabled (see the corresponding doc). The installed CRDs include the CRDs for all Ingress Controller features, including the ones disabled by default (like App Protect with aplogconfs.appprotect.f5.com and appolicies.appprotect.f5.com CRDs).

1.7.2

CHANGES:

  • Update NGINX Plus version to R22.

HELM CHART:

  • The version of the Helm chart is now 0.5.2.

UPGRADE:

  • For NGINX, use the 1.7.2 image from our DockerHub: nginx/nginx-ingress:1.7.2, nginx/nginx-ingress:1.7.2-alpine or nginx/nginx-ingress:1.7.2-ubi
  • For NGINX Plus, please build your own image using the 1.7.2 source code.
  • For Helm, use version 0.5.2 of the chart.

1.7.1

CHANGES:

  • Update NGINX version to 1.19.0.

HELM CHART:

  • The version of the Helm chart is now 0.5.1.

UPGRADE:

  • For NGINX, use the 1.7.1 image from our DockerHub: nginx/nginx-ingress:1.7.1, nginx/nginx-ingress:1.7.1-alpine or nginx/nginx-ingress:1.7.1-ubi
  • For NGINX Plus, please build your own image using the 1.7.1 source code.
  • For Helm, use version 0.5.1 of the chart.

1.7.0

OVERVIEW:

Release 1.7.0 includes:

  • Support for TCP, UDP, and TLS Passthrough load balancing with the new configuration resources: TransportServer and GlobalConfiguration. The resources allow users to deliver complex, non-HTTP-based applications from Kubernetes using the NGINX Ingress Controller.
  • Support for error pages in VirtualServer and VirtualServerRoute resources. A user can now specify custom error responses for errors returned by backend applications or generated by NGINX, such as a 502 response.
  • Improved validation of VirtualServer and VirtualServerRoute resources. kubectl and the Kubernetes API server can now detect violations of the structure of VirtualServer/VirtualServerRoute resources and return an error.
  • Support for an operator which manages the lifecycle of the Ingress Controller on Kubernetes or OpenShift. See the NGINX Ingress Operator GitHub repo.

See the 1.7.0 release announcement blog post, which includes an overview of each feature.

You will find the complete changelog for release 1.7.0, including bug fixes, improvements, and changes below.

FEATURES FOR VIRTUALSERVER AND VIRTUALSERVERROUTE RESOURCES:

  • 868: Add OpenAPI CRD schema validation.
  • 847: Add support for error pages for VS/VSR.

FEATURES:

  • 902: Add TransportServer and GlobalConfiguration Resources.
  • 894: Add Dockerfile for NGINX Open Source for Openshift.
  • 857: Add Openshift Dockerfile for NGINX Plus.
  • 852: Add default-server-access-log-off to configmap.
  • 845: Add log-format-escaping and stream-log-format-escaping configmap keys. Thanks to Alexey Maslov.
  • 827: Add ingress class label to all Prometheus metrics.

IMPROVEMENTS:

  • 850: Extend redirect URI validation with protocol check in VS/VSR.
  • 832: Update the examples to run the nginxdemos/nginx-hello:plain-text image, that doesn't require root user.
  • 825: Add multi-stage docker builds.

BUGFIXES:

  • 828: Fix error messages for actions of the type return.

HELM CHART:

  • The version of the helm chart is now 0.5.0.
  • Add new parameters to the Chart: controller.enableTLSPassthrough, controller.volumes, controller.volumeMounts, controller.priorityClassName. Added in 921, 878, 807 thanks to Greg Snow.

CHANGES:

  • Update NGINX version to 1.17.10.
  • Update NGINX Plus to R21.
  • 854: Update the Debian base images for NGINX Plus to debian:buster-slim.
  • 852: Add default-server-access-log-off to configmap. The access logs for the default server are now enabled by default.
  • 847: Add support for error pages for VS/VSR. The PR affects how the Ingress Controller generates configuration for VirtualServer and VirtualServerRoutes. See this comment for more details.
  • 827: Add ingress class label to all Prometheus metrics. Every Prometheus metric exposed by the Ingress Controller now includes the label class with the value of the Ingress Controller class (by default nginx),
  • 825: Add multi-stage docker builds. When building the Ingress Controller image in Docker, we now use a multi-stage docker build.

UPGRADE:

  • For NGINX, use the 1.7.0 image from our DockerHub: nginx/nginx-ingress:1.7.0, nginx/nginx-ingress:1.7.0-alpine or nginx-ingress:1.7.0-ubi
  • For NGINX Plus, please build your own image using the 1.7.0 source code.
  • For Helm, use version 0.5.0 of the chart.

When upgrading using the manifests, make sure to deploy the new TransportServer CRD (common/ts-definition.yaml), as it is required by the Ingress Controller. Otherwise, you will get error messages in the Ingress Controller logs.

1.6.3

CHANGES:

  • Update NGINX version to 1.17.9.

HELM CHART:

  • The version of the Helm chart is now 0.4.3.

UPGRADE:

  • For NGINX, use the 1.6.3 image from our DockerHub: nginx/nginx-ingress:1.6.3 or nginx/nginx-ingress:1.6.3-alpine
  • For NGINX Plus, please build your own image using the 1.6.3 source code.
  • For Helm, use version 0.4.3 of the chart.

1.6.2

CHANGES:

  • Update NGINX version to 1.17.8.

HELM CHART:

  • The version of the Helm chart is now 0.4.2.

UPGRADE:

  • For NGINX, use the 1.6.2 image from our DockerHub: nginx/nginx-ingress:1.6.2 or nginx/nginx-ingress:1.6.2-alpine
  • For NGINX Plus, please build your own image using the 1.6.2 source code.
  • For Helm, use version 0.4.2 of the chart.

1.6.1

CHANGES:

  • Update NGINX version to 1.17.7.

HELM CHART:

  • The version of the Helm chart is now 0.4.1.

UPGRADE:

  • For NGINX, use the 1.6.1 image from our DockerHub: nginx/nginx-ingress:1.6.1 or nginx/nginx-ingress:1.6.1-alpine
  • For NGINX Plus, please build your own image using the 1.6.1 source code.
  • For Helm, use version 0.4.1 of the chart.

1.6.0

OVERVIEW:

Release 1.6.0 includes:

  • Improvements to VirtualServer and VirtualServerRoute resources, adding support for richer load balancing behavior, more sophisticated request routing, redirects, direct responses, and blue-green and circuit breaker patterns. The VirtualServer and VirtualServerRoute resources are enabled by default and are ready for production use.
  • Support for OpenTracing, helping you to monitor and debug complex transactions.
  • An improved security posture, with support to run the Ingress Controller as a non-root user.

The release announcement blog post includes the overview for each feature. See https://www.nginx.com/blog/announcing-nginx-ingress-controller-for-kubernetes-release-1-6-0/

You will find the complete changelog for release 1.6.0, including bug fixes, improvements, and changes below.

FEATURES FOR VIRTUALSERVER AND VIRTUALSERVERROUTE RESOURCES:

  • 780: Add support for canned responses to VS/VSR.
  • 778: Add redirect support in VS/VSR.
  • 766: Add exact matches and regex support to location paths in VS/VSR.
  • 748: Add TLS redirect support in Virtualserver.
  • 745: Improve routing rules in VS/VSR
  • 728: Add session persistence in VS/VSR.
  • 724: Add VS/VSR Prometheus metrics.
  • 712: Add service subselector support in vs/vsr.
  • 707: Emit warning events in VS/VSR.
  • 701: Add support queue in upstreams for plus in VS/VSR.
  • 693: Add ServerStatusZones support in vs/vsr.
  • 670: Add buffering support for vs/vsr.
  • 660: Add ClientBodyMaxSize support in vs/vsr.
  • 659: Support configuring upstream zone sizes in VS/VSR.
  • 655: Add slow-start support in vs/vsr.
  • 653: Add websockets support for vs/vsr upstreams.
  • 641: Add support for ExternalName Services for vs/vsr.
  • 635: Add HealthChecks support for vs/vsr.
  • 634: Add Active Connections support to vs/vsr.
  • 628: Add retries support for vs/vsr.
  • 621: Add TLS support for vs/vsr upstreams.
  • 617: Add keepalive support to vs/vsr.
  • 612: Add timeouts support to vs/vsr.
  • 607: Add fail-timeout and max-fails support to vs/vsr.
  • 596: Add lb-method support in vs and vsr.

FEATURES:

  • 750: Add support for health status uri customisation.
  • 691: Helper Functions for custom annotations.
  • 631: Add max_conns support for NGINX plus.
  • 629: Added upstream zone directive annotation. Thanks to Victor Regalado.
  • 616: Add proxy-send-timeout to configmap key and annotation.
  • 615: Add support for Opentracing.
  • 614: Add max-conns annotation. Thanks to Victor Regalado.

IMPROVEMENTS:

  • 678: Increase defaults for server-names-hash-max-size and servers-names-hash-bucket-size ConfigMap keys.
  • 694: Reject VS/VSR resources with enabled plus features for OSS.
  • Documentation improvements: 713 thanks to Matthew Wahner.

BUGFIXES:

  • 788: Fix VSR updates when namespace is set implicitly.
  • 736: Init Ingress labeled metrics on start.
  • 686: Check if config map created for leader-election.
  • 664: Fix reporting events for Ingress minions.
  • 632: Fix hsts support when not using SSL. Thanks to Martín Fernández.

HELM CHART:

  • The version of the helm chart is now 0.4.0.
  • Add new parameters to the Chart: controller.healthCheckURI, controller.resources, controller.logLevel, controller.customPorts, controller.service.customPorts. Added in 750, 636 thanks to Guilherme Oki, 600, 581 thanks to Alex Meijer.
  • 722: Fix trailing leader election cm when using helm. This change might lead to a failed upgrade. See the helm upgrade instruction below.
  • 573: Use Controller name value for app selectors.

CHANGES:

  • Update NGINX versions to 1.17.6.
  • Update NGINX Plus version to R20.
  • 799: Enable CRDs by default. VirtualServer and VirtualServerRoute resources are now enabled by default.
  • 772: Update VS/VSR version from v1alpha1 to v1. Make sure to update the apiVersion of your VirtualServer and VirtualServerRoute resources.
  • 748: Add TLS redirect support in VirtualServer. The redirect-to-https and ssl-redirect ConfigMap keys no longer have any effect on generated configs for VirtualServer resources.
  • 745: Improve routing rules. Update the spec of VirtualServer and VirtualServerRoute accordingly. See YAML examples of the changes here.
  • 710: Run IC as non-root. Make sure to use the updated manifests to install/upgrade the Ingress Controller.
  • 603: Update apiVersion in Deployments and DaemonSets to apps/v1.

UPGRADE:

  • For NGINX, use the 1.6.0 image from our DockerHub: nginx/nginx-ingress:1.6.0 or nginx/nginx-ingress:1.6.0-alpine
  • For NGINX Plus, please build your own image using the 1.6.0 source code.
  • For Helm, use version 0.4.0 of the chart.

HELM UPGRADE:

If leader election (the controller.reportIngressStatus.enableLeaderElection parameter) is enabled, when upgrading to the new version of the Helm chart:

  1. Make sure to specify a new ConfigMap lock name (controller.reportIngressStatus.leaderElectionLockName) different from the one that was created by the current version. To find out the current name, check ConfigMap resources in the namespace where the Ingress Controller is running.
  2. After the upgrade, delete the old ConfigMap.

Otherwise, the helm upgrade will not succeed.

1.5.8

CHANGES:

  • Update NGINX version to 1.17.6.
  • Update deployment and daemonset manifests to apps/v1.

HELM CHART:

  • The version of the Helm chart is now 0.3.8.

UPGRADE:

  • For NGINX, use the 1.5.8 image from our DockerHub: nginx/nginx-ingress:1.5.8 or nginx/nginx-ingress:1.5.8-alpine
  • For NGINX Plus, please build your own image using the 1.5.8 source code.
  • For Helm, use version 0.3.8 of the chart.

1.5.7

CHANGES:

  • Update NGINX version to 1.17.5.

HELM CHART:

  • The version of the Helm chart is now 0.3.7.

UPGRADE:

  • For NGINX, use the 1.5.7 image from our DockerHub: nginx/nginx-ingress:1.5.7 or nginx/nginx-ingress:1.5.7-alpine
  • For NGINX Plus, please build your own image using the 1.5.7 source code.
  • For Helm, use version 0.3.7 of the chart.

1.5.6

CHANGES:

  • Update NGINX version to 1.17.4.

HELM CHART:

  • The version of the Helm chart is now 0.3.6.

UPGRADE:

  • For NGINX, use the 1.5.6 image from our DockerHub: nginx/nginx-ingress:1.5.6 or nginx/nginx-ingress:1.5.6-alpine
  • For NGINX Plus, please build your own image using the 1.5.6 source code.
  • For Helm, use version 0.3.6 of the chart.

1.5.5

CHANGES:

  • Update NGINX Plus version to R19.

HELM CHART:

  • The version of the Helm chart is now 0.3.5.

UPGRADE:

  • For NGINX, use the 1.5.5 image from our DockerHub: nginx/nginx-ingress:1.5.5 or nginx/nginx-ingress:1.5.5-alpine
  • For NGINX Plus, please build your own image using the 1.5.5 source code.
  • For Helm, use version 0.3.5 of the chart.

1.5.4

CHANGES:

  • Update NGINX version to 1.17.3.

HELM CHART:

  • The version of the Helm chart is now 0.3.4.

UPGRADE:

  • For NGINX, use the 1.5.4 image from our DockerHub: nginx/nginx-ingress:1.5.4 or nginx/nginx-ingress:1.5.4-alpine
  • For NGINX Plus, please build your own image using the 1.5.4 source code.
  • For Helm, use version 0.3.4 of the chart.

1.5.3

CHANGES:

  • Update NGINX Plus version to R18p1.

HELM CHART:

  • The version of the Helm chart is now 0.3.3.

UPGRADE:

  • For NGINX, use the 1.5.3 image from our DockerHub: nginx/nginx-ingress:1.5.3 or nginx/nginx-ingress:1.5.3-alpine
  • For NGINX Plus, please build your own image using the 1.5.3 source code.
  • For Helm, use version 0.3.3 of the chart.

1.5.2

CHANGES:

  • Update NGINX version to 1.17.2.

HELM CHART:

  • The version of the Helm chart is now 0.3.2.

UPGRADE:

  • For NGINX, use the 1.5.2 image from our DockerHub: nginx/nginx-ingress:1.5.2 or nginx/nginx-ingress:1.5.2-alpine
  • For NGINX Plus, please build your own image using the 1.5.2 source code.
  • For Helm, use version 0.3.2 of the chart.

1.5.1

CHANGES:

  • Update NGINX version to 1.17.1.

HELM CHART:

  • The version of the Helm chart is now 0.3.1.
  • 593: Fix the selector in the Ingress Controller service when the controller.name parameter is set. This introduces a change, see the HELM UPGRADE section.

UPGRADE:

  • For NGINX, use the 1.5.1 image from our DockerHub: nginx/nginx-ingress:1.5.1 or nginx/nginx-ingress:1.5.1-alpine
  • For NGINX Plus, please build your own image using the 1.5.1 source code.
  • For Helm, use version 0.3.1 of the chart.

HELM UPGRADE:

In the changelog of Release 1.5.0, we advised not to upgrade the helm chart from 0.2.1 to 0.3.0 unless the mentioned in the changelog problems were acceptable. This release we provide mitigation instructions on how to upgrade from 0.2.1 to 0.3.1 without disruptions.

When you upgrade from 0.2.1 to 0.3.1, make sure to configure the following parameters:

  • controller.name is set to nginx-ingress or the previously used value in case you customized it. This ensures the Deployment/Daemonset will not be recreated.
  • controller.service.name is set to nginx-ingress. This ensures the service will not be recreated.
  • controller.config.name is set to nginx-config. This ensures the ConfigMap will not be recreated.

Upgrading from 0.3.0 to 0.3.1: Upgrading is not affected unless you customized controller.name. In that case, because of the fix 593, the upgraded service will have a new selector, and the upgraded pod spec will have a new label. As a result, during an upgrade, the old pods will be immediately excluded from the service. Also, for the Deployment, the old pods will not terminate but continue to run. To terminate the old pods, manually remove the corresponding ReplicaSet.

1.5.0

FEATURES:

  • 560: Add new configuration resources -- VirtualServer and VirtualServerRoute.
  • 554: Add new Prometheus metrics related to the Ingress Controller's operation (as opposed to NGINX/NGINX Plus metrics).
  • 496: Support a wildcard TLS certificate for TLS-enabled Ingress resources.
  • 485: Support ExternalName services in Ingress backends.

IMPROVEMENTS:

  • Add new ConfigMap keys: keepalive-timeout, keepalive-requests, access-log-off, variables-hash-bucket-size, variables-hash-max-size. Added in 565, 511.
  • 504: Run the Prometheus exporter inside the Ingress Controller process instead of a sidecar container.

BUGFIXES:

  • 520: Fix the type of the Prometheus port annotation in manifests.
  • 481: Fix the HSTS support.
  • 439: Fix the validation of the lb-method ConfigMap key and nginx.org/lb-method annotation.

HELM CHART:

  • The version of the helm chart is now 0.3.0.
  • The helm chart is now available in our helm chart repo helm.nginx.com/stable.
  • Add new parameters to the Chart: controller.service.httpPort.targetPort, controller.service.httpsPort.targetPort, controller.service.name, controller.pod.annotations, controller.config.name, controller.reportIngressStatus.leaderElectionLockName, controller.service.httpPort, controller.service.httpsPort, controller.service.loadBalancerIP, controller.service.loadBalancerSourceRanges, controller.tolerations, controller.affinity. Added in 562, 561, 553, 534 thanks to Paulo Ribeiro, 479 thanks to Alejandro Llanes, 468, 456.
  • 546: Support deploying multiple Ingress Controllers in a cluster. Note: The generated resources have new names that are unique for each Ingress Controller. As a consequence, the name change affects the upgrade. See the HELM UPGRADE section for more information.
  • 542: Reduce the required privileges in the RBAC manifests.

CHANGES:

  • Update NGINX version to 1.15.12.
  • Prometheus metrics for NGINX/NGINX Plus have new namespace nginx_ingress. Examples: nginx_http_requests_total -> nginx_ingress_http_requests_total, nginxplus_http_requests_total -> nginx_ingress_nginxplus_http_requests_total.

UPGRADE:

  • For NGINX, use the 1.5.0 image from our DockerHub: nginx/nginx-ingress:1.5.0 or nginx/nginx-ingress:1.5.0-alpine
  • For NGINX Plus, please build your own image using the 1.5.0 source code.
  • For Helm, use version 0.3.0 of the chart.

HELM UPGRADE:

The new version of the helm chart uses different names for the generated resources. This makes it possible to deploy multiple Ingress Controllers in a cluster. However, as a side effect, during the upgrade from the previous version, helm will recreate the resources, instead of updating the existing ones. This, in turn, might cause problems for the following resources:

  • Service: If the service was created with the type LoadBalancer, the public IP of the new service might change. Additionally, helm updates the selector of the service, so that the old pods will be immediately excluded from the service.
  • Deployment/DaemonSet: Because the resource is recreated, the old pods will be removed and the new ones will be launched, instead of the default Deployment/Daemonset upgrade strategy.
  • ConfigMap: After the helm removes the resource, the old Ingress Controller pods will be immediately reconfigured to use the default values of the ConfigMap keys. During a small window between the reconfiguration and the shutdown of the old pods, NGINX will use the configuration with the default values.

We advise not to upgrade to the new version of the helm chart unless the mentioned problems are acceptable for your case. We will provide special upgrade instructions for helm that mitigate the problems for the next minor release of the Ingress Controller (1.5.1).

1.4.6

CHANGES:

  • Update NGINX version to 1.15.11.
  • Update NGINX Plus version to R18.

HELM CHART:

  • The version of the Helm chart is now 0.2.1.

UPGRADE:

  • For NGINX, use the 1.4.6 image from our DockerHub: nginx/nginx-ingress:1.4.6 or nginx/nginx-ingress:1.4.6-alpine
  • For NGINX Plus, please build your own image using the 1.4.6 source code.
  • For Helm, use version 0.2.1 of the chart.

1.4.5

CHANGES:

  • Update NGINX version to 1.15.10.

UPGRADE:

  • For NGINX, use the 1.4.5 image from our DockerHub: nginx/nginx-ingress:1.4.5 or nginx/nginx-ingress:1.4.5-alpine
  • For NGINX Plus, please build your own image using the 1.4.5 source code.

1.4.4

CHANGES:

  • Update NGINX version to 1.15.9.

UPGRADE:

  • For NGINX, use the 1.4.4 image from our DockerHub: nginx/nginx-ingress:1.4.4 or nginx/nginx-ingress:1.4.4-alpine
  • For NGINX Plus, please build your own image using the 1.4.4 source code.

1.4.3

CHANGES:

  • Update NGINX version to 1.15.8.

UPGRADE:

  • For NGINX, use the 1.4.3 image from our DockerHub: nginx/nginx-ingress:1.4.3 or nginx/nginx-ingress:1.4.3-alpine
  • For NGINX Plus, please build your own image using the 1.4.3 source code.

1.4.2

CHANGES:

  • Update NGINX Plus version to R17.

UPGRADE:

  • For NGINX, use the 1.4.2 image from our DockerHub: nginx/nginx-ingress:1.4.2 or nginx/nginx-ingress:1.4.2-alpine
  • For NGINX Plus, please build your own image using the 1.4.2 source code.

1.4.1

CHANGES:

  • Update NGINX version to 1.15.7.

UPGRADE:

  • For NGINX, use the 1.4.1 image from our DockerHub: nginx/nginx-ingress:1.4.1 or nginx/nginx-ingress:1.4.1-alpine
  • For NGINX Plus, please build your own image using the 1.4.1 source code.

1.4.0

FEATURES:

  • 401: Add the -nginx-debug flag for enabling debugging of NGINX using the nginx-debug binary.
  • 387: Add the -nginx-status-allow-cidrs command-line argument for white listing IPv4 IP/CIDR blocks to allow access to NGINX stub_status or the NGINX Plus API. Thanks to Jasmine Hegman.
  • 376: Support the random load balancing method.
  • 375: Support custom annotations.
  • 346: Support the Prometheus exporter for NGINX (the stub_status metrics).
  • 344: Expose NGINX Plus API/NGINX stub_status on a custom port via the -nginx-status-port command-line argument. See also the CHANGES section.
  • 342: Add the error-log-level configmap key. Thanks to boran seref.
  • 320: Support TCP/UDP load balancing via the stream-snippets configmap key.

IMPROVEMENTS:

  • 434: Improve consistency of templates.
  • 432: Fix cli-docs and Improve main test.
  • 419: Refactor config writing. Thanks to feifeiiiiiiiiii.
  • 403: Improve NGINX start.
  • 400: Fix error message in internal/controller/controller.go. Thanks to Alex O Regan.
  • 399: Improve secret handling. See also the CHANGES section.
  • 391: Update default lb-method to be random two least_conn. See also the CHANGES section.
  • 389: Improve parsing nginx.org/rewrites annotation.
  • 380: Verify reloads & cache secrets.
  • 362: Reduce reloads.
  • 357: Improve Project Layout and Refactor Controller Package. See also the CHANGES section.
  • 351: Make socket address obvious.

BUGFIXES:

  • 429: Fix panic with health checks.
  • 386: Fix Configmap/Mergeable Ingress Add/Update event logging.
  • 379: Fix configmap update.
  • 365: Don't enqueue ingress for some service changes.
  • 348: Fix Configurator error check.

HELM CHART:

  • 430: Add the controller.serviceAccount.imagePullSecrets parameter to the helm chart. See also the CHANGES section.
  • 420: Simplify values files for Helm Chart.
  • 398: Add the controller.nginxStatus.allowCidrs and controller.service.externalIPs parameters to helm chart.
  • 393: Refactor Helm Chart templates.
  • 390: Add the controller.service.loadBalancerIP parameter to the helm chat.
  • 377: Add the controller.nginxStatus parameters to the helm chart.
  • 335: Add the controller.reportIngressStatus parameters to the helm chart.
  • The version of the Helm chart is now 0.2.0.

CHANGES:

  • Update NGINX version to 1.15.6.
  • Update NGINX Plus version to R16p1.
  • Update NGINX Prometheus Exporter to 0.2.0.
  • 430: Add the controller.serviceAccount.imagePullSecrets parameter to the helm chart. Note: the controller.serviceAccountName parameter has been changed to controller.serviceAccount.name.
  • 399: Improve secret handling. Note: the PR changed how the Ingress Controller processes Ingress resources with TLS termination enabled but without any referenced (or with invalid) secrets and Ingress resources with JWT validation enabled but without any referenced (or with invalid) JWK. Please read here for more details.
  • 357: Improve Project Layout and Refactor Controller Package. Note: the PR significantly changed the layout of the project to follow best practices.
  • 347: Use edge version in manifests and Helm chart. Note: the manifests and the helm chart in the master branch now reference the edge version of the Ingress Controller instead of the latest stable version used previously.
  • 391: Update default lb-method to be random two least_conn. Note: the default load balancing method is now the power of two choices as it better suits the Ingress Controller use case. Please read the blog post about the method for more details.
  • 344: Expose NGINX Plus API/NGINX stub_status on a custom port via the -nginx-status-port command-line argument. Note: For NGINX the stub_status is now exposed on port 8080 at the /stub_status URL by default. Previously, the stub_status was not exposed on any port. The stub_status can be disabled via the -nginx-status flag.

DOC AND EXAMPLES FIXES/IMPROVEMENTS: 435, 433, 432, 418 (Thanks to Hal Deadman), 406, 381, 349 (Thanks to Artur Geraschenko), 343

UPGRADE:

  • For NGINX, use the 1.4.0 image from our DockerHub: nginx/nginx-ingress:1.4.0 or nginx/nginx-ingress:1.4.0-alpine
  • For NGINX Plus, please build your own image using the 1.4.0 source code.

1.3.2

CHANGES:

  • Update NGINX version to 1.15.6.

UPGRADE:

  • For NGINX, use the 1.3.2 image from our DockerHub: nginx/nginx-ingress:1.3.2 or nginx/nginx-ingress:1.3.2-alpine
  • For NGINX Plus, please build your own image using the 1.3.2 source code.

1.3.1

CHANGES:

  • Update NGINX Plus version to R15p2.

UPGRADE:

  • For NGINX, use the 1.3.1 image from our DockerHub: nginx/nginx-ingress:1.3.1 or nginx/nginx-ingress:1.3.1-alpine
  • For NGINX Plus, please build your own image using the 1.3.1 source code.

1.3.0

IMPROVEMENTS:

  • 325: Report ingress status.
  • 311: Support JWT auth in mergeable minions.
  • 310: NGINX configuration template custom path support.
  • 308: Add prometheus exporter support to helm chart.
  • 303: Add fetch custom NGINX template from ConfigMap.
  • 301: Update prometheus exporter image for Plus.
  • 298: Prefetch ConfigMap before initial NGINX Config generation.
  • 296: Improve Helm Chart.
  • 295: Report version information.
  • 294: Support dynamic reconfiguration in mergeable ingresses for Plus.
  • 287: Support slow-start for Plus.
  • 286: Add support for active health checks for Plus.

CHANGES:

  • 330: Update NGINX version to 1.15.2.
  • 329: Enforce annotations inheritance in minions.

BUGFIXES:

  • 326: Fix find ingress for secret ns bug.
  • 284: Correct Logs for Mergeable Types with Duplicate Location. Thanks to Fernando Diaz.

UPGRADE:

  • For NGINX, use the 1.3.0 image from our DockerHub: nginx/nginx-ingress:1.3.0
  • For NGINX Plus, please build your own image using the 1.3.0 source code.

1.2.0

  • 279: Update dependencies.
  • 278: Fix mergeable Ingress types.
  • 277: Support grpc error responses.
  • 276: Add gRPC support.
  • 274: Change the default load balancing method to least_conn.
  • 272: Move nginx-ingress image to the official nginx DockerHub.
  • 268: Correct Mergeable Types misspelling and optimize blacklists. Thanks to Fernando Diaz.
  • 266: Add support for passive health checks.
  • 261: Update Customization Example.
  • 258: Handle annotations and conflicting paths for MergeableTypes. Thanks to Fernando Diaz.
  • 256: Add helm chart support.
  • 249: Add support for prometheus for Plus.
  • 241: Update the doc about building the Docker image.
  • 240: Use new NGINX Plus API.
  • 239: Fix a typo in a variable name. Thanks to Tony Li.
  • 238: Remove apt-get upgrade from Plus Dockerfile.
  • 237: Add unit test for ingress-class handling.
  • 236: Always respect -ingress-class option. Thanks to Nick Novitski.
  • 235: Change the base image to Debian Stretch for Plus controller.
  • 234: Update installation manifests and instructions.
  • 233: Add docker build options to Makefile.
  • 231: Prevent a possible failure of building Plus image.
  • Documentation Fixes: 248, thanks to zariye. 252. 270.
  • Update NGINX version to 1.13.12.
  • Update NGINX Plus version to R15 P1.

1.1.1

1.1.0

  • 221: Add git commit info to the IC log.
  • 220: Update dependencies.
  • 213: Add main snippets to allow Main context customization. Thanks to Dewen Kong.
  • 211: Minimize the number of configuration reloads when the Ingress controller starts; fix a problem with endpoints updates for Plus.
  • 208: Add worker-shutdown-timeout configmap key. Thanks to Aleksandr Lysenko.
  • 199: Add support for Kubernetes ssl-redirect annotation. Thanks to Luke Seelenbinder.
  • 194 Add keepalive configmap key and annotation.
  • 193: Add worker-cpu-affinity configmap key.
  • 192: Add worker-processes configmap key.
  • 186: Fix hardcoded controller class. Thanks to Serhii M.
  • 184: Return a meaningful error when there is no cert and key for the default server.
  • Update NGINX version to 1.13.7.
  • Makefile updates: golang container was updated to 1.9.

1.0.0

  • 175: Add support for JWT for NGINX Plus.
  • 171: Allow NGINX to listen on non-standard ports. Thanks to Stanislav Seletskiy.
  • 170: Add the default server. Note: The Ingress controller will fail to start if there are no cert and key for the default server. You can pass a TLS Secret for the default server as an argument to the Ingress controller or add a cert and a key to the Docker image.
  • 169: Ignore Ingress resources with empty hostnames.
  • 168: Add the nginx.org/lb-method annotation. Thanks to Sajal Kayan.
  • 166: Watch Secret resources for updates. Note: If a Secret referenced by one or more Ingress resources becomes invalid or gets removed, the configuration for those Ingress resources will be disabled until there is a valid Secret.
  • 160: Add support for events. See the details here.
  • 157: Add graceful termination - when the Ingress controller receives SIGTERM, it shutdowns itself as well as NGINX, using nginx -s quit.

0.9.0

  • 156: Write a pem file with an SSL certificate and key atomically.
  • 155: Remove http2 annotation (http/2 can be enabled globally in the ConfigMap).
  • 154: Merge NGINX and NGINX Plus Ingress controller implementations.
  • 151: Use k8s.io/client-go.
  • 146: Fix health status.
  • 141: Set worker_processes to auto in NGINX configuration. Thanks to Andreas Krüger.
  • 140: Fix an error message. Thanks to Andreas Krüger.
  • Update NGINX to version 1.13.3.

0.8.1

  • Update NGINX version to 1.13.0.

0.8.0

  • 117: Add a customization option: location-snippets, server-snippets and http-snippets. Thanks to rchicoli.
  • 116: Add support for the 301 redirect to https based on the http_x_forwarded_proto header. Thanks to Chris.
  • Update NGINX version to 1.11.13.
  • Makefile updates: gcloud docker push command; golang container was updated to 1.8.
  • Documentation fixes: 113. Thanks to Linus Lewandowski.

0.7.0

  • 108: Support for the server_tokens directive via the annotation and in the configmap. Thanks to David Radcliffe.
  • 103: Improve error reporting when NGINX fails to start.
  • 100: Add the health check location. Thanks to Julian.
  • 95: Fix the runtime.TypeAssertionError issue, which sometimes occurred when deleting resources. Thanks to Tang Le.
  • 93: Fix overwriting of Secrets with the same name from different namespaces.
  • 92: Add overwriting of the HSTS header. Previously, when HSTS was enabled, if a backend issued the HSTS header, the controller would add the second HSTS header. Now the controller overwrites the HSTS header, if a backend also issues it.
  • 91: Fix the issue with single service Ingress resources without any Ingress rules: the controller didn't pick up any updates of the endpoints of the service of such an Ingress resource. Thanks to Tang Le.
  • 88: Support for the proxy_hide_header and the proxy_pass_header directives via annotations and in the configmap. Thanks to Nico Schieder.
  • 85: Add the configmap settings to support perfect forward secrecy. Thanks to Nico Schieder.
  • 84: Secret retry: If a certificate Secret referenced in an Ingress object is not found, the Ingress controller will reject the Ingress object. but retries every 5s. Thanks to Nico Schieder.
  • 81: Add configmap options to turn on the PROXY protocol. Thanks to Nico Schieder.
  • Update NGINX version to 1.11.8.
  • Documentation fixes: 104 and 97. Thanks to Ruilin Huang and Justin Garrison.

0.6.0

  • 75: Add the HSTS settings in the configmap and annotations. Thanks to Nico Schieder.
  • 74: Fix the issue of the kubernetes.io/ingress.class annotation handling. Thanks to Tang Le.
  • 70: Add support for the alpine-based image for the NGINX controller.
  • 68: Support for proxy-buffering settings in the configmap and annotations. Thanks to Mark Daniel Reidel.
  • 66: Support for custom log-format in the configmap. Thanks to Mark Daniel Reidel.
  • 65: Add HTTP/2 as an option in the configmap and annotations. Thanks to Nico Schieder.
  • The NGINX Plus controller image is now based on Ubuntu Xenial.

0.5.0

  • Update NGINX version to 1.11.5.
  • 64: Add the nginx.org/rewrites annotation, which allows to rewrite the URI of a request before sending it to the application. Thanks to Julian.
  • 62: Add the nginx.org/ssl-services annotation, which allows load balancing of HTTPS applications. Thanks to Julian.

0.4.0

  • 54: Previously, when specifying the port of a service in an Ingress rule, you had to use the value of the target port of that port of the service, which was incorrect. Now you must use the port value or the name of the port of the service instead of the target port value. Note: Please make necessary changes to your Ingress resources, if ports of your services have different values of the port and the target port fields.
  • 55: Add support for the kubernetes.io/ingress.class annotation in Ingress resources.
  • 58: Add the version information to the controller. For each version of the NGINX controller, you can find a corresponding image on DockerHub with a tag equal to the version. The latest version is available through the latest tag.

The previous version was 0.3

Notes

  • Except when mentioned otherwise, the controller refers both to the NGINX and the NGINX Plus Ingress controllers.