Skip to content

Commit

Permalink
Release Candidate 1 for 1.7.0
Browse files Browse the repository at this point in the history
  • Loading branch information
pleshakov committed Mar 31, 2020
1 parent 71a750a commit da8e223
Show file tree
Hide file tree
Showing 26 changed files with 174 additions and 72 deletions.
50 changes: 50 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,55 @@
# Changelog

### 1.7.0 - Release Candidate 1

OVERVIEW:

Release 1.7.0-rc1 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.

The release announcement blog post includes an overview of each feature. See [link-to-be-added](#).

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

FEATURES FOR VIRTUALSERVER AND VIRTUALSERVERROUTE RESOURCES:
* [868](https://github.com/nginxinc/kubernetes-ingress/pull/868): Add OpenAPI CRD schema validation.
* [847](https://github.com/nginxinc/kubernetes-ingress/pull/847): Add support for error pages for VS/VSR.

FEATURES:
* [902](https://github.com/nginxinc/kubernetes-ingress/pull/902): Add TransportServer and GlobalConfiguration Resources.
* [894](https://github.com/nginxinc/kubernetes-ingress/pull/894): Add Dockerfile for NGINX Open Source for Openshift.
* [857](https://github.com/nginxinc/kubernetes-ingress/pull/857): Add Openshift Dockerfile for NGINX Plus.
* [852](https://github.com/nginxinc/kubernetes-ingress/pull/852): Add default-server-access-log-off to configmap.
* [845](https://github.com/nginxinc/kubernetes-ingress/pull/845): Add log-format-escaping and stream-log-format-escaping configmap keys. Thanks to [Alexey Maslov](https://github.com/alxmsl).
* [827](https://github.com/nginxinc/kubernetes-ingress/pull/827): Add ingress class label to all Prometheus metrics.


IMPROVEMENTS:
* [850](https://github.com/nginxinc/kubernetes-ingress/pull/850): Extend redirect URI validation with protocol check in VS/VSR.
* [832](https://github.com/nginxinc/kubernetes-ingress/pull/832): Update the examples to run the `nginxdemos/nginx-hello:plain-text` image, that doesn't require root user.
* [825](https://github.com/nginxinc/kubernetes-ingress/pull/825): Add multi-stage docker builds.

BUGFIXES:
* [828](https://github.com/nginxinc/kubernetes-ingress/pull/828): Fix error messages for actions of the type return.

HELM CHART:
* The version of the helm chart is now 0.5.0-rc1.
* Add new parameters to the Chart: `controller.volumes`, `controller.volumeMounts`, `controller.priorityClassName`. Added in [878](https://github.com/nginxinc/kubernetes-ingress/pull/878), [807](https://github.com/nginxinc/kubernetes-ingress/pull/807) thanks to [Greg Snow](https://github.com/gsnegovskiy).

CHANGES:
* Update NGINX version to 1.17.9.
* [854](https://github.com/nginxinc/kubernetes-ingress/pull/854): Update the Debian base images for NGINX Plus to `debian:buster-slim`.
* [852](https://github.com/nginxinc/kubernetes-ingress/pull/852): Add default-server-access-log-off to configmap. The access logs for the default server are now enabled by default.
* [847](https://github.com/nginxinc/kubernetes-ingress/pull/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](https://github.com/nginxinc/kubernetes-ingress/pull/847) for more details.
* [827](https://github.com/nginxinc/kubernetes-ingress/pull/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](https://github.com/nginxinc/kubernetes-ingress/pull/825): Add multi-stage docker builds. When building the Ingress Controller image in Docker, we now use a multi-stage docker build.

UPGRADE:
* For this preview release, no DockerHub images are provided. Please build your own image using the 1.7.0-rc1 source code.
* For Helm, use version 0.5.0-rc1 of the chart. Note: this preview version is not available from the stable repo helm.nginx.com/stable, but only from the source files in the `deployments/helm-chart` folder.

### 1.6.3

CHANGES:
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
all: push

VERSION = edge
VERSION = 1.7.0-rc1
TAG = $(VERSION)
PREFIX = nginx/nginx-ingress

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ Read [this doc](docs/nginx-plus.md) to learn more about NGINX Ingress controller

We publish Ingress controller releases on GitHub. See our [releases page](https://github.com/nginxinc/kubernetes-ingress/releases).

The latest stable release is [1.6.3](https://github.com/nginxinc/kubernetes-ingress/releases/tag/v1.6.3). For production use, we recommend that you choose the latest stable release. As an alternative, you can choose the *edge* version built from the [latest commit](https://github.com/nginxinc/kubernetes-ingress/commits/master) from the master branch. The edge version is useful for experimenting with new features that are not yet published in a stable release.
The latest stable release is [1.7.0-rc1](https://github.com/nginxinc/kubernetes-ingress/releases/tag/v1.7.0-rc1). For production use, we recommend that you choose the latest stable release. As an alternative, you can choose the *edge* version built from the [latest commit](https://github.com/nginxinc/kubernetes-ingress/commits/master) from the master branch. The edge version is useful for experimenting with new features that are not yet published in a stable release.

To use the Ingress controller, you need to have access to:
* An Ingress controller image.
Expand All @@ -62,7 +62,7 @@ The table below summarizes the options regarding the images, manifests, helm cha

| Version | Description | Image for NGINX | Image for NGINX Plus | Installation Manifests and Helm Chart | Documentation and Examples |
| ------- | ----------- | --------------- | -------------------- | ---------------------------------------| -------------------------- |
| Latest stable release | For production use | `nginx/nginx-ingress:1.6.3`, `nginx/nginx-ingress:1.6.3-alpine` from [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/) or [build your own image](https://docs.nginx.com/nginx-ingress-controller/installation/building-ingress-controller-image/). | [Build your own image](https://docs.nginx.com/nginx-ingress-controller/installation/building-ingress-controller-image/). | [Manifests](https://github.com/nginxinc/kubernetes-ingress/tree/v1.6.3/deployments). [Helm chart](https://github.com/nginxinc/kubernetes-ingress/tree/v1.6.3/deployments/helm-chart). | [Documentation](https://docs.nginx.com/nginx-ingress-controller/). [Examples](https://docs.nginx.com/nginx-ingress-controller/configuration/configuration-examples/). |
| Latest stable release | For production use | `nginx/nginx-ingress:1.7.0-rc1`, `nginx/nginx-ingress:1.7.0-rc1-alpine` from [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/) or [build your own image](https://docs.nginx.com/nginx-ingress-controller/installation/building-ingress-controller-image/). | [Build your own image](https://docs.nginx.com/nginx-ingress-controller/installation/building-ingress-controller-image/). | [Manifests](https://github.com/nginxinc/kubernetes-ingress/tree/v1.7.0-rc1/deployments). [Helm chart](https://github.com/nginxinc/kubernetes-ingress/tree/v1.7.0-rc1/deployments/helm-chart). | [Documentation](https://docs.nginx.com/nginx-ingress-controller/). [Examples](https://docs.nginx.com/nginx-ingress-controller/configuration/configuration-examples/). |
| Edge | For testing and experimenting | `nginx/nginx-ingress:edge`, `nginx/nginx-ingress:edge-alpine` from [DockerHub](https://hub.docker.com/r/nginx/nginx-ingress/) or [build your own image](https://github.com/nginxinc/kubernetes-ingress/tree/master/docs-web/installation/building-ingress-controller-image.md). | [Build your own image](https://github.com/nginxinc/kubernetes-ingress/tree/master/docs-web/installation/building-ingress-controller-image.md). | [Manifests](https://github.com/nginxinc/kubernetes-ingress/tree/master/deployments). [Helm chart](https://github.com/nginxinc/kubernetes-ingress/tree/master/deployments/helm-chart). | [Documentation](https://github.com/nginxinc/kubernetes-ingress/tree/master/docs-web). [Examples](https://github.com/nginxinc/kubernetes-ingress/tree/master/examples). |

## Contacts
Expand Down
3 changes: 1 addition & 2 deletions deployments/daemon-set/nginx-ingress.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,7 @@ spec:
spec:
serviceAccountName: nginx-ingress
containers:
- image: nginx/nginx-ingress:edge
imagePullPolicy: Always
- image: nginx/nginx-ingress:1.7.0-rc1
name: nginx-ingress
ports:
- name: http
Expand Down
3 changes: 1 addition & 2 deletions deployments/daemon-set/nginx-plus-ingress.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,7 @@ spec:
spec:
serviceAccountName: nginx-ingress
containers:
- image: nginx-plus-ingress:edge
imagePullPolicy: Always
- image: nginx-plus-ingress:1.7.0-rc1
name: nginx-plus-ingress
ports:
- name: http
Expand Down
3 changes: 1 addition & 2 deletions deployments/deployment/nginx-ingress.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@ spec:
spec:
serviceAccountName: nginx-ingress
containers:
- image: nginx/nginx-ingress:edge
imagePullPolicy: Always
- image: nginx/nginx-ingress:1.7.0-rc1
name: nginx-ingress
ports:
- name: http
Expand Down
3 changes: 1 addition & 2 deletions deployments/deployment/nginx-plus-ingress.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@ spec:
spec:
serviceAccountName: nginx-ingress
containers:
- image: nginx-plus-ingress:edge
imagePullPolicy: Always
- image: nginx-plus-ingress:1.7.0-rc1
name: nginx-plus-ingress
ports:
- name: http
Expand Down
8 changes: 4 additions & 4 deletions deployments/helm-chart/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
name: nginx-ingress
version: edge
appVersion: edge
version: 0.5.0-rc1
appVersion: 1.7.0-rc1
apiVersion: v1
description: NGINX Ingress Controller
icon: https://raw.githubusercontent.com/nginxinc/kubernetes-ingress/master/deployments/helm-chart/chart-icon.png
icon: https://raw.githubusercontent.com/nginxinc/kubernetes-ingress/v1.7.0-rc1/deployments/helm-chart/chart-icon.png
sources:
- https://github.com/nginxinc/kubernetes-ingress/tree/master/deployments/helm-chart
- https://github.com/nginxinc/kubernetes-ingress/tree/v1.7.0-rc1/deployments/helm-chart
keywords:
- ingress
- nginx
Expand Down
14 changes: 8 additions & 6 deletions deployments/helm-chart/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ This chart deploys the NGINX Ingress controller in your Kubernetes cluster.

1. Add NGINX Helm repository:
```
$ helm repo add nginx-edge https://helm.nginx.com/edge
$ helm repo add nginx-stable https://helm.nginx.com/stable
$ helm repo update
```
Expand All @@ -29,24 +29,24 @@ This chart deploys the NGINX Ingress controller in your Kubernetes cluster.
For NGINX:
```console
$ helm install my-release nginx-edge/nginx-ingress
$ helm install my-release nginx-stable/nginx-ingress
```
For NGINX Plus: (assuming you have pushed the Ingress controller image `nginx-plus-ingress` to your private registry `myregistry.example.com`)
```console
$ helm install my-release nginx-edge/nginx-ingress --set controller.image.repository=myregistry.example.com/nginx-plus-ingress --set controller.nginxplus=true
$ helm install my-release nginx-stable/nginx-ingress --set controller.image.repository=myregistry.example.com/nginx-plus-ingress --set controller.nginxplus=true
```
* Using Helm 2.x client:
For NGINX:
```console
$ helm install --name my-release nginx-edge/nginx-ingress
$ helm install --name my-release nginx-stable/nginx-ingress
```
For NGINX Plus: (assuming you have pushed the Ingress controller image `nginx-plus-ingress` to your private registry `myregistry.example.com`)
```console
$ helm install --name my-release nginx-edge/nginx-ingress --set controller.image.repository=myregistry.example.com/nginx-plus-ingress --set controller.nginxplus=true
$ helm install --name my-release nginx-stable/nginx-ingress --set controller.image.repository=myregistry.example.com/nginx-plus-ingress --set controller.nginxplus=true
```
### Installing Using Chart Sources
Expand All @@ -58,6 +58,8 @@ This chart deploys the NGINX Ingress controller in your Kubernetes cluster.
2. Change your working directory to /deployments/helm-chart:
```console
$ cd kubernetes-ingress/deployments/helm-chart
$ cd kubernetes-ingress/deployments/helm-chart
$ git checkout v1.7.0-rc1
```
3. To install the chart with the release name my-release (my-release is the name that you choose):
Expand Down Expand Up @@ -123,7 +125,7 @@ Parameter | Description | Default
`controller.nginxDebug` | Enables debugging for NGINX. Uses the `nginx-debug` binary. Requires `error-log-level: debug` in the ConfigMap via `controller.config.entries`. | false
`controller.logLevel` | The log level of the Ingress Controller. | 1
`controller.image.repository` | The image repository of the Ingress controller. | nginx/nginx-ingress
`controller.image.tag` | The tag of the Ingress controller image. | edge
`controller.image.tag` | The tag of the Ingress controller image. | 1.7.0-rc1
`controller.image.pullPolicy` | The pull policy for the Ingress controller image. | IfNotPresent
`controller.config.name` | The name of the ConfigMap used by the Ingress controller. | Autogenerated
`controller.config.entries` | The entries of the ConfigMap for customizing NGINX configuration. | {}
Expand Down
2 changes: 1 addition & 1 deletion deployments/helm-chart/values-icp.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ controller:
nginxplus: true
image:
repository: mycluster.icp:8500/kube-system/nginx-plus-ingress
tag: "edge"
tag: "1.7.0-rc1"
nodeSelector:
beta.kubernetes.io/arch: "amd64"
proxy: true
Expand Down
2 changes: 1 addition & 1 deletion deployments/helm-chart/values-plus.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ controller:
nginxplus: true
image:
repository: nginx-plus-ingress
tag: "edge"
tag: "1.7.0-rc1"
4 changes: 2 additions & 2 deletions docs-web/configuration/configuration-examples.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Configuration Examples

Out [GitHub repo](https://github.com/nginxinc/kubernetes-ingress) includes as number of configuration examples:
* [*Examples*](https://github.com/nginxinc/kubernetes-ingress/tree/master/examples) show how to use advanced NGINX features in Ingress resources with annotations.
* [*Examples of Custom Resources*](https://github.com/nginxinc/kubernetes-ingress/tree/master/examples-of-custom-resources) show how to use VirtualServer and VirtualServerResources for a few use cases.
* [*Examples*](https://github.com/nginxinc/kubernetes-ingress/tree/v1.7.0-rc1/examples) show how to use advanced NGINX features in Ingress resources with annotations.
* [*Examples of Custom Resources*](https://github.com/nginxinc/kubernetes-ingress/tree/v1.7.0-rc1/examples-of-custom-resources) show how to use VirtualServer and VirtualServerResources for a few use cases.
Loading

0 comments on commit da8e223

Please sign in to comment.