Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Readme: tengine-ingress 1.1.0 release notes #106

Merged
merged 1 commit into from
Oct 27, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 40 additions & 12 deletions Changelog.tengine.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,47 @@
# Changelog

### 1.0.0
### 1.1.0

**Image:** `tengine-ingress-registry.cn-hangzhou.cr.aliyuncs.com/tengine/tengine-ingress:1.0.0`
**Image:** `tengine-ingress-registry.cn-hangzhou.cr.aliyuncs.com/tengine/tengine-ingress:1.1.0`

_New Features:_

- Dynamically reconfigure the servers, locations and upstreams for Ingress, Secret, Service and Endpoint changes, without reloading or restarting worker processes.
- Dynamically reconfigure canary routing based on standard and custom HTTP headers, header value, and weights.
- Dynamically reconfigure timeout setting, SSL Redirects, CORS and enabling/disabling robots for the ingress/path.
- Dynamically reconfigure certificates and keys.
- Support for hybrid ECC and RSA certificates for the same ingress/path.
- HTTP/3 support (QUIC v1 and draft-29).
- Supports watching Ingress and Secrets in a dedicated storage k8s cluster via kubeconfig.
- Watch changes in Ingress and Secrets and do rolling upgrades for associated StatefulSet of Tengine-Ingress, without tengine reload.
- New CRD IngressCheckSum and SecretCheckSum to verify the integrity of Ingress and Secret in the cluster.
- Dynamically configure different TLS protocols for different server names without tengine reload @lianglli
- Dynamically configure multiple default TLS certificates for client-hello without SNI @lianglli
- Supports IngressClass @lianglli
- Dynamically configure canary routing based on multiple values of a specific header, cookie or query parameter without tengine reload @lianglli
- Dynamically configure canary routing based on the modulo operation for a specific header, cookie or query parameter without tengine reload @lianglli
- Dynamically configure canary routing to add/append custom headers or add query parameter to the HTTP request without tengine reload @lianglli
- Dynamically configure canary routing to add custom headers to the HTTP response without tengine reload @lianglli
- Supports total weight of canary ingress @lianglli
- Supports multiple CORS origins @lianglli
- Supports 'user' config of tengine worker processes @lianglli
- Supports watch changes in Ingress/Secret and do rolling upgrades in one time @lianglli

_Changes:_

_Documentation:_
- Remove unnecessary and duplicate location from tengine template @lianglli
- Update obsolete and removed APIs of Go @lianglli
- Stopping Tengine process with layer4 LB gracefully @lianglli

_Bugs:_

- The /configuration/certs?hostname=_ return 500 @drawing
- Duplicate location robots.txt and unknown variable "https_use_timing" in static config mode @lianglli
- Configmap config "use-ingress-storage-cluster" is not working @lianglli
- HTTP routes with static config mode is not working @lianglli
- Dynamically reconfigure CORS for the ingress/path is not working @lianglli

### 1.0.0

**Image:** `tengine-ingress-registry.cn-hangzhou.cr.aliyuncs.com/tengine/tengine-ingress:1.0.0`

- Dynamically configure the servers, locations and upstreams for Ingress, Secret, Service and Endpoint changes, without reloading or restarting worker processes. @lianglli
- Dynamically configure canary routing based on standard and custom HTTP headers, header value, and weights. @lianglli
- Dynamically configure timeout setting, SSL Redirects, CORS and enabling/disabling robots for the ingress/path. @lianglli
- Dynamically configure certificates and keys. @lianglli
- Support for hybrid ECC and RSA certificates for the same ingress/path. @lianglli
- HTTP/3 support (QUIC v1 and draft-29). @lianglli
- Supports watching Ingress and Secrets in a dedicated storage k8s cluster via kubeconfig. @lianglli
- Watch changes in Ingress and Secrets and do rolling upgrades for associated StatefulSet of Tengine-Ingress, without tengine reload. @lianglli
- New CRD IngressCheckSum and SecretCheckSum to verify the integrity of Ingress and Secret in the cluster. @lianglli
27 changes: 16 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,17 @@ Tengine-Ingress is an Ingress controller for Kubernetes using [Tengine](https://
Tengine-Ingress supports the standard Ingress specification based on [kubernetes/ingress-nginx](https://github.com/kubernetes/ingress-nginx) repo.

## Features
* Dynamically reconfigure the servers, locations and upstreams for Ingress, Secret, Service and Endpoint changes, without reloading or restarting worker processes.
* Dynamically reconfigure canary routing based on standard and custom HTTP headers, header value, and weights.
* Dynamically reconfigure timeout setting, SSL Redirects, CORS and enabling/disabling robots for the ingress/path.
* Dynamically reconfigure certificates and keys.
* Support for hybrid ECC and RSA certificates for the same ingress/path.
* Dynamically configure the servers, locations and upstreams for Ingress, Secret, Service and Endpoint changes, without reloading or restarting worker processes.
* HTTP/3 support (QUIC v1 and draft-29).
* Dynamically configure different TLS protocols for different server names.
* Dynamically configure multiple default TLS certificates for client-hello without SNI.
* Support for hybrid ECC and RSA certificates for the same ingress/path.
* Dynamically configure certificates and keys.
* Dynamically configure canary routing based on multiple values of a specific header, cookie or query parameter.
* Dynamically configure canary routing based on multiple upstream according to weight.
* Dynamically configure timeout setting, SSL Redirects, CORS and enabling/disabling robots for the ingress/path.
* Dynamically configure canary routing to add/append custom headers or add query parameter to the HTTP request.
* Dynamically configure canary routing to add custom headers to the HTTP response.
* Supports watching Ingress and Secrets in a dedicated storage k8s cluster via kubeconfig.
* Watch changes in Ingress and Secrets and do rolling upgrades for associated StatefulSet of Tengine-Ingress, without tengine reload.
* New CRD IngressCheckSum and SecretCheckSum to verify the integrity of Ingress and Secret in the cluster.
Expand All @@ -35,15 +40,15 @@ Supported linux distributions:
* [Alpine](https://hub.docker.com/_/alpine)

Supported tags:
* `1.0.0` : based on image [Anolis](https://hub.docker.com/r/openanolis/anolisos)
* `1.0.0-alpine` : based on image [Alpine](https://hub.docker.com/_/alpine)
* `1.1.0` : based on image [Anolis](https://hub.docker.com/r/openanolis/anolisos)
* `1.1.0-alpine` : based on image [Alpine](https://hub.docker.com/_/alpine)

Supported architectures:
* AMD64, ARM64

Pull image command:
```
docker pull tengine-ingress-registry.cn-hangzhou.cr.aliyuncs.com/tengine/tengine-ingress:1.0.0
docker pull tengine-ingress-registry.cn-hangzhou.cr.aliyuncs.com/tengine/tengine-ingress:1.1.0
```

### Building from source
Expand All @@ -56,10 +61,10 @@ Supported Linux distributions:
Build image command:
```
# First: build tengine image
docker build --no-cache --build-arg BASE_IMAGE="docker.io/openanolis/anolisos:latest" --build-arg LINUX_RELEASE="anolisos" -t tengine:3.0.0 images/tengine/rootfs/
docker build --no-cache --build-arg BASE_IMAGE="docker.io/openanolis/anolisos:latest" --build-arg LINUX_RELEASE="anolisos" -t tengine:3.1.0 images/tengine/rootfs/

# Second: build tengine-ingress image
docker build --no-cache --build-arg BASE_IMAGE="tengine:3.0.0" --build-arg VERSION="1.0.0" -f build/Dockerfile -t tengine-ingress:1.0.0 .
docker build --no-cache --build-arg BASE_IMAGE="tengine:3.1.0" --build-arg VERSION="1.1.0" -f build/Dockerfile -t tengine-ingress:1.1.0 .
```

## Changelog
Expand All @@ -71,7 +76,7 @@ For detailed changes for each release; please check the [Changelog.tengine.md](C
| | Tengine-Ingress Version | Tengine Version | K8s Supported Version | Anolis Linux Version | Alpine Linux Version | Helm Chart Version |
|:--:|-------------------------|-----------------|-----------------------|----------------------|----------------------|--------------------|
| 🔄 | **v1.0.0** | v3.0.0 | 1.27,1.26,1.25,1.24<br>1.23,1.22,1.21,1.20 | 8.6 | 3.18.2 | |
| 🔄 | | | | | | |
| 🔄 | **v1.1.0** | v3.1.0 | 1.28,1.27,1.26,1.25<br>1.24,1.23,1.22,1.21<br>1.20 | 8.6 | 3.18.4 | |

## Documentation

Expand Down
2 changes: 1 addition & 1 deletion build/build_ingress.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ fi

ver=$1
if [ -z "$ver" ]; then
ver="1.0.0"
ver="1.1.0"
fi

set -o errexit
Expand Down
2 changes: 1 addition & 1 deletion images/tengine/rootfs/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ set -o pipefail

export DEBIAN_FRONTEND=noninteractive

export TENGINE_VERSION=3.0.0-1
export TENGINE_VERSION=3.1.0
export XQUIC_VERSION=1.6.0
export XUDP_LIB_VERSION=1.0.2
export BABASSL_VERSION=8.3.2
Expand Down
Binary file removed images/tengine/rootfs/source/tengine-3.0.0-1.tar.gz
Binary file not shown.
Binary file added images/tengine/rootfs/source/tengine-3.1.0.tar.gz
Binary file not shown.