From a14e5c9d21748ee7f08b0a6bd51d65cdfa136639 Mon Sep 17 00:00:00 2001 From: RoyLin Date: Fri, 15 May 2026 21:17:49 +0800 Subject: [PATCH] =?UTF-8?q?release:=20v1.0.1=20=E2=80=94=20enable=20kube?= =?UTF-8?q?=20and=20redis=20features=20for=20Linux=20builds?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Linux release binaries and OCI images now ship with kube + redis features built in, so ghcr.io/a3s-lab/gateway can be used directly as a Kubernetes Ingress Controller without rebuilding. --- .github/workflows/release.yml | 13 ++++++++++--- CHANGELOG.md | 11 +++++++++++ Cargo.lock | 2 +- Cargo.toml | 2 +- 4 files changed, 23 insertions(+), 5 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cb61c3f..8faf8e0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -96,13 +96,20 @@ jobs: cargo install cargo-zigbuild --quiet - name: Build + # Linux targets enable `kube` and `redis` features for K8s Ingress + distributed rate-limiting. + # macOS keeps default features (no K8s deployment use case). run: | + if [[ "${{ matrix.target }}" == *"linux"* ]]; then + FEATURES="--features kube,redis" + else + FEATURES="" + fi if [ "${{ matrix.use_cross }}" = "true" ]; then - cross build -p a3s-gateway --release --target ${{ matrix.target }} + cross build -p a3s-gateway --release --target ${{ matrix.target }} $FEATURES elif [ "${{ matrix.use_zigbuild }}" = "true" ]; then - cargo zigbuild -p a3s-gateway --release --target ${{ matrix.target }} + cargo zigbuild -p a3s-gateway --release --target ${{ matrix.target }} $FEATURES else - cargo build -p a3s-gateway --release --target ${{ matrix.target }} + cargo build -p a3s-gateway --release --target ${{ matrix.target }} $FEATURES fi - name: Strip (Linux gnu) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f3a1ef..1219c00 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,17 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.0.1] - 2026-05-15 + +### Fixed + +- Linux release binaries (and OCI images published to ghcr.io) are now built with + the `kube` and `redis` features enabled, so the published image can act as a + Kubernetes Ingress Controller and use Redis-backed distributed rate limiting + out of the box. Prior 1.0.0 image had `default = []` features only and logged + `Kubernetes provider configured but the 'kube' feature is not enabled` when + used with a `providers.kubernetes` config block. + ## [1.0.0] - 2026-05-12 ### Breaking diff --git a/Cargo.lock b/Cargo.lock index 5029c20..da10999 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,7 +8,7 @@ version = "0.2.1" [[package]] name = "a3s-gateway" -version = "1.0.0" +version = "1.0.1" dependencies = [ "a3s-acl", "a3s-updater", diff --git a/Cargo.toml b/Cargo.toml index 453d293..71bff58 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "a3s-gateway" -version = "1.0.0" +version = "1.0.1" edition = "2021" rust-version = "1.88" authors = ["A3S Lab"]