Skip to content

Commit

Permalink
Merge pull request #106 from lianglli/tengine-ingress-1.1.0-readme
Browse files Browse the repository at this point in the history
Readme: tengine-ingress 1.1.0 release notes
  • Loading branch information
lianglli authored Oct 27, 2023
2 parents 64fc62a + 5537d82 commit a41a2f1
Show file tree
Hide file tree
Showing 6 changed files with 58 additions and 25 deletions.
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.

0 comments on commit a41a2f1

Please sign in to comment.