Skip to content

Commit

Permalink
Release 1.8.0
Browse files Browse the repository at this point in the history
  • Loading branch information
pleshakov authored and Rulox committed Jul 23, 2020
1 parent 8224595 commit ce3ab89
Show file tree
Hide file tree
Showing 30 changed files with 214 additions and 82 deletions.
55 changes: 55 additions & 0 deletions CHANGELOG.md
@@ -1,5 +1,60 @@
# 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](https://github.com/nginxinc/kubernetes-ingress/pull/1036): Add VirtualServer custom template support.
* [1028](https://github.com/nginxinc/kubernetes-ingress/pull/1028): Add access control policy.
* [1019](https://github.com/nginxinc/kubernetes-ingress/pull/1019): Add VirtualServer/VirtualServerRoute snippets support.
* [1006](https://github.com/nginxinc/kubernetes-ingress/pull/1006): Add request/response modifiers to VS and VSR.
* [994](https://github.com/nginxinc/kubernetes-ingress/pull/994): Support Class Field in VS/VSR.
* [973](https://github.com/nginxinc/kubernetes-ingress/pull/973): Add status to VirtualServer and VirtualServerRoute.

FEATURES:
* [1035](https://github.com/nginxinc/kubernetes-ingress/pull/1035): Support for App Protect module.
* [1029](https://github.com/nginxinc/kubernetes-ingress/pull/1029): Add readiness endpoint.

IMPROVEMENTS:
* [995](https://github.com/nginxinc/kubernetes-ingress/pull/995): Emit event for orphaned VirtualServerRoutes.
* Documentation improvements: [946](https://github.com/nginxinc/kubernetes-ingress/pull/946) thanks to [谭九鼎](https://github.com/imba-tjd), [948](https://github.com/nginxinc/kubernetes-ingress/pull/948), [972](https://github.com/nginxinc/kubernetes-ingress/pull/972), [965](https://github.com/nginxinc/kubernetes-ingress/pull/965).

BUGFIXES:
* [1030](https://github.com/nginxinc/kubernetes-ingress/pull/1030): Fix port range validation in cli arguments.
* [953](https://github.com/nginxinc/kubernetes-ingress/pull/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](https://github.com/nginxinc/kubernetes-ingress/pull/1035), [1034](https://github.com/nginxinc/kubernetes-ingress/pull/1034), [1029](https://github.com/nginxinc/kubernetes-ingress/pull/1029), [1003](https://github.com/nginxinc/kubernetes-ingress/pull/1003) thanks to [RubyLangdon](https://github.com/RubyLangdon).
* [1047](https://github.com/nginxinc/kubernetes-ingress/pull/1047) and [1009](https://github.com/nginxinc/kubernetes-ingress/pull/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](https://github.com/nginxinc/kubernetes-ingress/pull/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](https://github.com/nginxinc/kubernetes-ingress/pull/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](https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-helm/)). 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:
Expand Down
2 changes: 1 addition & 1 deletion Makefile
@@ -1,6 +1,6 @@
all: push

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

Expand Down
4 changes: 2 additions & 2 deletions README.md
Expand Up @@ -51,7 +51,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.7.2](https://github.com/nginxinc/kubernetes-ingress/releases/tag/v1.7.2). 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.8.0](https://github.com/nginxinc/kubernetes-ingress/releases/tag/v1.8.0). 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 @@ -64,7 +64,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.7.2`, `nginx/nginx-ingress:1.7.2-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.2/deployments). [Helm chart](https://github.com/nginxinc/kubernetes-ingress/tree/v1.7.2/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.8.0`, `nginx/nginx-ingress:1.8.0-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.8.0/deployments). [Helm chart](https://github.com/nginxinc/kubernetes-ingress/tree/v1.8.0/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
4 changes: 2 additions & 2 deletions deployments/daemon-set/nginx-ingress.yaml
Expand Up @@ -17,8 +17,8 @@ spec:
spec:
serviceAccountName: nginx-ingress
containers:
- image: nginx/nginx-ingress:edge
imagePullPolicy: Always
- image: nginx/nginx-ingress:1.8.0
imagePullPolicy: IfNotPresent
name: nginx-ingress
ports:
- name: http
Expand Down
4 changes: 2 additions & 2 deletions deployments/daemon-set/nginx-plus-ingress.yaml
Expand Up @@ -17,8 +17,8 @@ spec:
spec:
serviceAccountName: nginx-ingress
containers:
- image: nginx-plus-ingress:edge
imagePullPolicy: Always
- image: nginx-plus-ingress:1.8.0
imagePullPolicy: IfNotPresent
name: nginx-plus-ingress
ports:
- name: http
Expand Down
4 changes: 2 additions & 2 deletions deployments/deployment/nginx-ingress.yaml
Expand Up @@ -18,8 +18,8 @@ spec:
spec:
serviceAccountName: nginx-ingress
containers:
- image: nginx/nginx-ingress:edge
imagePullPolicy: Always
- image: nginx/nginx-ingress:1.8.0
imagePullPolicy: IfNotPresent
name: nginx-ingress
ports:
- name: http
Expand Down
4 changes: 2 additions & 2 deletions deployments/deployment/nginx-plus-ingress.yaml
Expand Up @@ -18,8 +18,8 @@ spec:
spec:
serviceAccountName: nginx-ingress
containers:
- image: nginx-plus-ingress:edge
imagePullPolicy: Always
- image: nginx-plus-ingress:1.8.0
imagePullPolicy: IfNotPresent
name: nginx-plus-ingress
ports:
- name: http
Expand Down
8 changes: 4 additions & 4 deletions deployments/helm-chart/Chart.yaml
@@ -1,11 +1,11 @@
name: nginx-ingress
version: edge
appVersion: edge
version: 0.6.0
appVersion: 1.8.0
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.8.0/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.8.0/deployments/helm-chart
keywords:
- ingress
- nginx
Expand Down
15 changes: 8 additions & 7 deletions deployments/helm-chart/README.md
Expand Up @@ -20,6 +20,7 @@ This step is required if you're installing the chart using its sources. Addition
1. Clone the Ingress controller repo:
```console
$ git clone https://github.com/nginxinc/kubernetes-ingress/
$ git checkout v1.8.0
```
2. Change your working directory to /deployments/helm-chart:
```console
Expand All @@ -31,7 +32,7 @@ This step is required if you're installing the chart using its sources. Addition
This step is required if you're installing the chart via the helm repository.

```console
$ helm repo add nginx-edge https://helm.nginx.com/edge
$ helm repo add nginx-stable https://helm.nginx.com/stable
$ helm repo update
```

Expand Down Expand Up @@ -60,24 +61,24 @@ To install the chart with the release name my-release (my-release is the name th

For NGINX:
```console
$ helm install my-release nginx-edge/nginx-ingress --devel
$ 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 --devel
$ 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 --devel
$ 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 --devel
$ 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 Down Expand Up @@ -142,7 +143,7 @@ $ helm upgrade my-release .
#### Upgrade via Helm Repository:

```console
$ helm upgrade my-release nginx-edge/nginx-ingress
$ helm upgrade my-release nginx-stable/nginx-ingress
```

## Uninstalling the Chart
Expand Down Expand Up @@ -194,7 +195,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.8.0
`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.annotations` | The annotations of the Ingress controller configmap. | {}
Expand Down
2 changes: 1 addition & 1 deletion deployments/helm-chart/values-icp.yaml
Expand Up @@ -3,7 +3,7 @@ controller:
nginxplus: true
image:
repository: mycluster.icp:8500/kube-system/nginx-plus-ingress
tag: "edge"
tag: "1.8.0"
nodeSelector:
beta.kubernetes.io/arch: "amd64"
proxy: true
Expand Down
2 changes: 1 addition & 1 deletion deployments/helm-chart/values-plus.yaml
Expand Up @@ -2,4 +2,4 @@ controller:
nginxplus: true
image:
repository: nginx-plus-ingress
tag: "edge"
tag: "1.8.0"
2 changes: 1 addition & 1 deletion deployments/helm-chart/values.yaml
Expand Up @@ -36,7 +36,7 @@ controller:
repository: nginx/nginx-ingress

## The tag of the Ingress controller image.
tag: "edge"
tag: "1.8.0"

## The pull policy for the Ingress controller image.
pullPolicy: IfNotPresent
Expand Down
4 changes: 2 additions & 2 deletions docs-web/app-protect/configuration.md
@@ -1,12 +1,12 @@
# Configuration
This document describes how to configure the NGINX App Protect module
> Check out the complete [NGINX Ingress Controller with App Protect example resources on GitHub](https://github.com/nginxinc/kubernetes-ingress/tree/master/examples/appprotect).
> Check out the complete [NGINX Ingress Controller with App Protect example resources on GitHub](https://github.com/nginxinc/kubernetes-ingress/tree/v1.8.0/examples/appprotect).
## Global Configuration

The NGINX Ingress Controller has a set of global configuration parameters that align with those available in the NGINX App Protect module. See [ConfigMap keys](/nginx-ingress-controller/configuration/global-configuration/configmap-resource/#modules) for the complete list. The App Protect parameters use the `app-protect*` prefix.

> Check out the complete [NGINX Ingress Controller with App Protect example resources on GitHub](https://github.com/nginxinc/kubernetes-ingress/tree/master/examples/appprotect).
> Check out the complete [NGINX Ingress Controller with App Protect example resources on GitHub](https://github.com/nginxinc/kubernetes-ingress/tree/v1.8.0/examples/appprotect).
## Enable App Protect for an Ingress Resource

Expand Down
2 changes: 1 addition & 1 deletion docs-web/app-protect/installation.md
Expand Up @@ -33,5 +33,5 @@ Take the steps below to set up and deploy the NGINX Ingress Controller and App P
3. Enable the App Protect module by adding the `enable-app-protect` [cli argument](/nginx-ingress-controller/configuration/global-configuration/command-line-arguments/#cmdoption-enable-app-protect) to your Deployment or DaemonSet file.
4. [Deploy the Ingress Controller](/nginx-ingress-controller/installation/installation-with-manifests/#deploy-the-ingress-controller).

For more information, see the [Configuration guide](/nginx-ingress-controller/app-protect/configuration) and the [NGINX Ingress Controller with App Protect examples on GitHub](https://github.com/nginxinc/kubernetes-ingress/tree/master/examples/appprotect).
For more information, see the [Configuration guide](/nginx-ingress-controller/app-protect/configuration) and the [NGINX Ingress Controller with App Protect examples on GitHub](https://github.com/nginxinc/kubernetes-ingress/tree/v1.8.0/examples/appprotect).

4 changes: 2 additions & 2 deletions docs-web/configuration/configuration-examples.md
@@ -1,5 +1,5 @@
# Configuration Examples

Our [GitHub repo](https://github.com/nginxinc/kubernetes-ingress) includes a 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.8.0/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.8.0/examples-of-custom-resources) show how to use VirtualServer and VirtualServerResources for a few use cases.

0 comments on commit ce3ab89

Please sign in to comment.