diff --git a/Changelog.tengine.md b/Changelog.tengine.md index e0ae151..8e7064d 100644 --- a/Changelog.tengine.md +++ b/Changelog.tengine.md @@ -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 diff --git a/README.md b/README.md index ee30a4c..386f737 100644 --- a/README.md +++ b/README.md @@ -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. @@ -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 @@ -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 @@ -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
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
1.24,1.23,1.22,1.21
1.20 | 8.6 | 3.18.4 | | ## Documentation diff --git a/build/build_ingress.sh b/build/build_ingress.sh index 4f9bab5..ea0261b 100755 --- a/build/build_ingress.sh +++ b/build/build_ingress.sh @@ -20,7 +20,7 @@ fi ver=$1 if [ -z "$ver" ]; then - ver="1.0.0" + ver="1.1.0" fi set -o errexit diff --git a/images/tengine/rootfs/build.sh b/images/tengine/rootfs/build.sh index 179a770..9366bbb 100755 --- a/images/tengine/rootfs/build.sh +++ b/images/tengine/rootfs/build.sh @@ -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 diff --git a/images/tengine/rootfs/source/tengine-3.0.0-1.tar.gz b/images/tengine/rootfs/source/tengine-3.0.0-1.tar.gz deleted file mode 100644 index b7aff80..0000000 Binary files a/images/tengine/rootfs/source/tengine-3.0.0-1.tar.gz and /dev/null differ diff --git a/images/tengine/rootfs/source/tengine-3.1.0.tar.gz b/images/tengine/rootfs/source/tengine-3.1.0.tar.gz new file mode 100644 index 0000000..baa86aa Binary files /dev/null and b/images/tengine/rootfs/source/tengine-3.1.0.tar.gz differ