Highlights
The API version of all custom resources has been upgraded to v2 in v1.5 release. In 1.7 we removed the v2beta3 API. Please go to #707 for detail.
In this version we added more Gateway API support and add IngressClass support for all CRDs.
From this version, we try to add a new architecture, then user can reduce etcd of APISIX. (This feature is experimental.)
Please try out the release binaries and report any issues at
https://github.com/apache/apisix-ingress-controller/issues.
Contributors
- dependabot[bot]
- Jintao Zhang
- Xin Rong
- Navendu Pottekkat
- Sarasa Kisaragi
- Abhishek Choudhary
- Ashish Tiwari
- Aryan
- Gallardot
- Priyansh Singh
- chengzw
- ermao
- ikatlinsky
- lsy
- Abhith Rajan
- Anh Le (Andy)
- Ashing Zheng
- AuruTus
- Basuotian
- Carson Yang
- Chever John
- Deepjyoti Barman
- Eng Zer Jun
- Fatpa
- German Lashevich
- Joanthan Chen
- John Chever
- Rishav Raj
- Traky Deng
- Tristan
- basefas
- fabriceli
- fengxsong
- harvies
- machinly
- oliver
- sakulali
- tanzhe
- tyltr
Changes
171 commits
7ecd088
chore(deps): bump sigs.k8s.io/gateway-api from 0.6.2 to 0.8.0 (#1945)2641c32
chore(deps): bump k8s.io/code-generator from 0.28.0 to 0.28.1 (#1949)9f54d9c
chore(deps): bump sigs.k8s.io/controller-runtime from 0.14.6 to 0.16.1 (#1947)519fd5c
chore(deps): bump k8s.io/client-go from 0.27.4 to 0.28.1 (#1940)1466e89
feat: use HOSTNAME as controller name and add default value. (#1946)0bbdc4f
feat: support controller as etcd server (#1803)cf88af9
chore: add Gallardot for deps reviewer (#1942)aae52d5
chore(deps): bump github.com/eclipse/paho.mqtt.golang in /test/e2e (#1891)1bea14f
chore(deps): bump google.golang.org/grpc in /test/e2e (#1886)e0a2b17
chore(deps): bump golang.org/x/net from 0.12.0 to 0.14.0 (#1920)c1f241b
chore(deps): bump k8s.io/client-go from 0.27.4 to 0.28.1 in /test/e2e (#1938)c3174d4
chore(deps): bump go.uber.org/zap from 1.24.0 to 1.25.0 (#1922)28d7c90
chore(deps): bump github.com/onsi/ginkgo/v2 in /test/e2e (#1933)7b3deb5
feat: add support for host pass in upstream crd (#1889)14e3c61
chore(deps): bump go.uber.org/zap from 1.24.0 to 1.25.0 in /test/e2e (#1921)fa07c66
fix(ci): udp forward failed and missing pigz (#1929)c3dff87
dep: downgraded k8s.io/kube-openapi (#1919)b7329b0
chore: clean up apisix v1 (#1916)f2ae01a
chore(deps): bump k8s.io/client-go from 0.27.1 to 0.27.4 (#1917)37e9201
chore: Upgrade Go tool chain version 1.19 to version 1.20 (#1788)3fa789d
chore: remove support for Ingress in the extensions/v1beta1 API version (#1840)3f45ca9
ci: auto certs and upgrade APISIX to 3.4.1 version (#1911)8e3104b
docs: Add QA about exposing gateway as loadbalancer (#1907)c40b664
ci: cron ci must use the logical AND condition (#1850)e809cfb
feat: Allow response header rewrite via Ingress annotations (#1861)3efd796
chore(deps): bump github.com/gin-gonic/gin from 1.9.0 to 1.9.1 (#1852)a79c140
chore(deps): bump k8s.io/client-go from 0.27.1 to 0.27.3 in /test/e2e (#1866)8e86331
docs: update docs links (#1873)32c0751
Update issuer.yaml (#1856)7540872
chore(deps): bump github.com/gin-gonic/gin in /test/e2e (#1851)e5db08a
chore(deps): bump github.com/onsi/ginkgo/v2 in /test/e2e (#1837)373839a
chore(deps): bump github.com/stretchr/testify in /test/e2e (#1842)ff43aee
docs: Update powered-by.md (#1841)e91dbf5
chore(deps): Update dependencies (#1833)113defc
chore: rename all v2beta3 to v2 in e2e templates (#1832)7b81a8b
chore: StringToByte without mem-allocation supports v1.20 (#1750)050d201
chore: remove v2beta3 (#1817)c6a13b3
chore(deps): bump github.com/onsi/ginkgo/v2 in /test/e2e (#1827)31891ba
fix: Referencing empty objects during tcproute and httproute updates (#1825)2182a48
CI: add regression testing with apisix:dev (#1721)2641b78
chore: add docker compose and docker-compose compatible (#1808)abfacd6
fix: Keep health checker running when health check failed. Make healthcheck function pure (#1779)a414df7
fix: secret reference update Ingress (#1780)2061824
chore: upgrade ginkgo 1.9.0 to 1.9.2 (#1800)4b1ad1b
feat: sync consumer crd labels to apisix (#1540)98ff8e5
fix: error message typo (#1790)3a8fdf6
refactor: update status (#1618)5ef48f9
chore(deps): bump github.com/gavv/httpexpect/v2 in /test/e2e (#1774)8e43700
dep: Updated some dependencies. (#1782)2f9a4c8
chore: use docker buildkit to cache go build cache (#1778)b4d1eed
feat: CRDs ingressClassName field cannot be modified (#1728)adf9757
chore(deps): bump github.com/spf13/cobra from 1.6.1 to 1.7.0 (#1773)aad3ef6
e2e: ingress annotations does not need to use v2beta3 (#1503)e6dbaa7
fix: malformed URL created in schemaClient (#1772)97f9ef9
feat: support webhook validate plugin (#1355)eb01907
docs: describe how to generate secret from cert file (#1769)bacb8f8
feat: sync apisix upstream labels (#1553)38710e7
chore(deps): bump k8s.io/code-generator from 0.26.2 to 0.26.3 (#1764)b316705
docs: add ApisixPluginConfig and update examples (#1752)045f5e7
docs: Add lost entries ofdiscovery
in Upstream's reference doc. (#1766)2cb99b8
feat: support comparison in resource sync (#1742)0602314
docs: add traffic-split plugin usage (#1696)99b6634
docs: Deploy to OpenShift (#1761)e0f4cc2
docs: added Docker to prerequisite of Installation with Kind (#1751)7ccf531
fix: missing upstream name in gateway-api routes (#1754)405b6fb
chore(deps): bump github.com/onsi/ginkgo/v2 in /test/e2e (#1746)379e92e
chore(deps): bump golang.org/x/net from 0.7.0 to 0.8.0 (#1725)0ad8eaa
docs: add tutorial on using custom Plugins (#1745)c5b2ae8
chore(deps): bump k8s.io/client-go from 0.26.2 to 0.26.3 (#1734)8730f88
chore(deps): bump k8s.io/client-go from 0.26.2 to 0.26.3 in /test/e2e (#1730)c6dd810
feat: make multiple controllers handle different ApisixRoute CRDs (#593)6e22838
feat: support ingressClass for ApisixGlobalRule (#1718)8b9726d
chore(deps): bump github.com/onsi/ginkgo/v2 in /test/e2e (#1723)2cf5963
ci: Upgrade Ginkgo to latest version (#1727)277669e
e2e: more stability (#1739)a431dd0
feat: Support GatewayAPI route attachment restriction (#1440)d871a2c
fix: when secret created later than apisixtls it should be updated (#1715)f1395f1
ci: regression test on apisix-and-all and apisix (#1726)271d89f
feat: ApisixClusterConfig support IngressClass (#1720)07c7d9d
feat: ApisixConsumer support ingressClass (#1717)3abe8af
feat: ApisixTls suuport ingressClass (#1714)cfaa246
chore(deps): bump golang.org/x/net in /test/e2e/testbackend (#1702)23d10a3
chore(deps): bump k8s.io/client-go from 0.26.1 to 0.26.2 (#1709)93c795b
feat: support ingressClass for ApisixPluginConfig (#1716)97f6aed
chore(deps): bump github.com/onsi/ginkgo/v2 in /test/e2e (#1703)d8f7353
chore(deps): bump k8s.io/client-go from 0.26.1 to 0.26.2 in /test/e2e (#1705)5ec21c1
chore(deps): bump golang.org/x/text in /test/e2e/testbackend (#1684)879b433
chore(deps): bump github.com/stretchr/testify from 1.8.1 to 1.8.2 (#1689)13d2b5d
docs: monitoring apisix with helm chart (#1683)7d62b7e
chore(deps): bump github.com/gavv/httpexpect/v2 in /test/e2e (#1706)b616db4
chore(deps): bump k8s.io/api from 0.26.1 to 0.26.2 in /test/e2e (#1704)d702809
chore(deps): bump k8s.io/code-generator from 0.26.1 to 0.26.2 (#1708)fad7955
docs: using APISIX Ingress as Istio egress gateway (#1667)acf3e36
chore(deps): bump golang.org/x/sys in /test/e2e/testbackend (#1687)7862e28
chore(deps): bump github.com/gin-gonic/gin from 1.8.2 to 1.9.0 (#1701)5fcd3d0
feat: ApisixUpstream support IngressClass (#1674)4cd8ad5
feat: sync plugin-config labels to apisix (#1538)ec09d4f
docs: Update the-hard-way.md (#1700)db4dc71
docs: fix typo in aks deployment guide (#1695)9df7af6
ci: add yamllint rules (#1666)4091ea0
chore(deps): bump github.com/stretchr/testify in /test/e2e (#1691)51d0ecd
fix: set the health check log level by gin to debug (#1580)3f76ae4
feat: Add prefer_name into ApisixClusterConfig (#1519)de1928e
docs: update grpc proxy (#1698)f6b3349
chore(deps): bump github.com/gavv/httpexpect/v2 in /test/e2e (#1690)69fbdb2
feat: support disable resource periodically sync (#1685)7a87083
bump golang.org/x/net from 0.5.0 to 0.7.0 (#1678)872f291
chore(deps): bump github.com/onsi/ginkgo/v2 in /test/e2e (#1679)86c14c7
docs: fix jwtAuth configuration error in documents (#1680)0ff7aca
chore(deps): bump golang.org/x/net from 0.5.0 to 0.7.0 in /test/e2e (#1677)caf2639
chore(deps): bump golang.org/x/net from 0.5.0 to 0.6.0 (#1668)5beb519
docs: small adjustments to Check CRD status tutorial (#1670)1b66a8e
docs: update the apisix image version and ingress image version (#1633)4241b67
fix: panic at empty http spec (#1660)bcf44c6
ci: update license-checker (#1652)199dcff
feat: support disable status (#1595)88d04f2
chore(deps): bump github.com/gavv/httpexpect/v2 in /test/e2e (#1662)65701d8
chore(deps): bump gopkg.in/natefinch/lumberjack.v2 from 2.0.0 to 2.2.1 (#1664)a0a50fe
fix: Ingress delete events can be handler after svc be deleted (#1576)e232a07
docs: update Prometheus tutorial (#1635)3bc0587
chore: Add more types in the pull request template (#1644)03b635a
chore(deps): bump github.com/gavv/httpexpect/v2 in /test/e2e (#1651)84d11a1
chore: update issue templates (#1590)3db5dc2
chore(deps): bump github.com/onsi/ginkgo/v2 in /test/e2e (#1632)acee3f6
docs: fix type of .spec.plugins (#1645)7503056
fix: Add ApisixUpstream CRD status property (#1641)eb86829
docs: Update NOTICE (#1636)aa7967d
docs: rename references file to skip lint (#1638)5e0f89f
test(e2e): add stream tcp proxy with SNI test (#1533)33d42c3
feat: add ldap-auth authorization method (#1588)ccdd6a2
docs: add Gateway API installation instructions (#1616)905e1c5
chore: upgrade gateway-api v0.5.1 to v0.6.0 (#1623)fe4e2af
chore: add AlinsRan to dependabot reviewer (#1631)0518f01
chore(deps): bump golang.org/x/net from 0.4.0 to 0.5.0 (#1621)e4d8ac9
docs: using tool auto generate references (#1630)fa57ff5
feat: add new ApisixGlobalRule resource to support global rules (#1586)4c0535b
doc: update 1.6 upgrade guide (#1592)1f4ade7
chore(deps): bump github.com/onsi/ginkgo/v2 in /test/e2e (#1620)26a202d
chore(deps): bump k8s.io/code-generator from 0.26.0 to 0.26.1 (#1622)a16b3dd
doc: add svc-namespace description to the annotations (#1605)123d080
feat: add support for filter_func for ApisixRoute (#1545)9476e13
chore(deps): bump github.com/gavv/httpexpect/v2 in /test/e2e (#1617)72577c1
chore(deps): bump k8s.io/client-go from 0.26.0 to 0.26.1 (#1614)00b3442
docs: update prowered-by.md (#1604)9aae0e3
ci: add goimports-reviser (#1606)4006ea8
chore(deps): bump github.com/gavv/httpexpect/v2 in /test/e2e (#1611)2ee88ad
chore(deps): bump some dependencies (#1603)8e31a9b
chore(deps): bump k8s.io/client-go from 0.26.0 to 0.26.1 in /test/e2e (#1613)afa9403
docs: add tutorial for Gateway API (#1615)7c809c6
docs: add Gateway API example to the "Getting started" guide (#1607)31714eb
chore(deps): bump github.com/onsi/ginkgo/v2 in /test/e2e (#1599)1acb058
chore(deps): bump dependencies from 0.25.4 to 0.26.0 (#1520)eb0bd81
docs: update compatibility with APISIX (#1598)d3f2359
docs: update controller to use adminAPIVersion=v3 (#1593)2024a09
docs: add note about enabling the Plugin (#1596)32561d0
fix: allow passing plugin config name for route with no backends (#1578)84390d4
docs: add CHANGELOG for v1.6.0 (#1585)d701fef
docs: add example link. (#1582) (#1583)78272a5
docs: Update the-hard-way.md (#1581) (#1584)486b46a
chore: rename TranslateXXNotStrictly to GenerateXXDeleteMark (#1490)b62be90
chore(deps): bump github.com/onsi/ginkgo/v2 in /test/e2e (#1541)634b43f
feat: sync route crd labels to apisix (#1526)695a5e1
docs: add instructions to use Network LoadBalancer (#1557)949c1da
chore: admin-api default version v2 (#1558)5f98bc1
docs: add match stream route with SNI tutorial (#1543)b5e89cf
chore: set v1.6 as protect branch (#1556)1c42993
fix: bad configuration item: apisix-admin-api-version (#1551)e734b2d
chore: extra annotations logs (#1549)60061d0
docs: update tutorial on installing APISIX in Kubernetes (#1550)39cffdc
docs: update synchronization status check docs (#1548)9208f58
docs: update APISIX CRD tutorial (#1544)
Dependency Changes
70 deps
- github.com/api7/etcd-adapter v0.2.2 new
- github.com/api7/gopkg v0.2.0 new
- github.com/bytedance/sonic v1.9.1 new
- github.com/chenzhuoyu/base64x fe3a3abad311 new
- github.com/evanphx/json-patch v4.12.0 -> v5.6.0
- github.com/evanphx/json-patch/v5 v5.6.0 new
- github.com/gabriel-vasile/mimetype v1.4.2 new
- github.com/gin-gonic/gin v1.8.1 -> v1.9.1
- github.com/go-logr/logr v1.2.3 -> v1.2.4
- github.com/go-openapi/jsonpointer v0.19.5 -> v0.20.0
- github.com/go-openapi/jsonreference v0.20.0 -> v0.20.2
- github.com/go-openapi/swag v0.22.3 -> v0.22.4
- github.com/go-playground/locales v0.14.0 -> v0.14.1
- github.com/go-playground/universal-translator v0.18.0 -> v0.18.1
- github.com/goccy/go-json v0.9.10 -> v0.10.2
- github.com/golang/protobuf v1.5.2 -> v1.5.3
- github.com/google/btree v1.1.2 new
- github.com/google/gnostic-models v0.6.8 new
- github.com/google/go-cmp v0.5.8 -> v0.5.9
- github.com/google/gofuzz v1.1.0 -> v1.2.0
- github.com/google/uuid v1.3.0 new
- github.com/gorilla/websocket v1.5.0 new
- github.com/grpc-ecosystem/grpc-gateway v1.16.0 new
- github.com/imdario/mergo v0.3.13 -> v0.3.15
- github.com/inconshreveable/mousetrap v1.0.1 -> v1.1.0
- github.com/k3s-io/kine v0.10.2 new
- github.com/klauspost/cpuid/v2 v2.2.4 new
- github.com/leodido/go-urn v1.2.1 -> v1.2.4
- github.com/mattn/go-isatty v0.0.14 -> v0.0.19
- github.com/prometheus/client_golang v1.14.0 -> v1.16.0
- github.com/prometheus/client_model v0.3.0 -> v0.4.0
- github.com/prometheus/common v0.37.0 -> v0.44.0
- github.com/prometheus/procfs v0.8.0 -> v0.11.1
- github.com/sirupsen/logrus v1.9.3 new
- github.com/soheilhy/cmux v0.1.5 new
- github.com/spf13/cobra v1.6.1 -> v1.7.0
- github.com/stretchr/testify v1.8.1 -> v1.8.4
- github.com/tmc/grpc-websocket-proxy 673ab2c3ae75 new
- github.com/twitchyliquid64/golang-asm v0.15.1 new
- go.etcd.io/etcd/api/v3 v3.5.9 new
- go.uber.org/multierr v1.8.0 -> v1.11.0
- go.uber.org/zap v1.24.0 -> v1.25.0
- golang.org/x/arch v0.3.0 new
- golang.org/x/crypto 630584e8d5aa -> v0.12.0
- golang.org/x/mod 86c51ed26bb4 -> v0.12.0
- golang.org/x/net 46097bf591d3 -> v0.14.0
- golang.org/x/oauth2 ee480838109b -> v0.8.0
- golang.org/x/sys fb04ddd9f9c8 -> v0.11.0
- golang.org/x/term 03fcf44c2211 -> v0.11.0
- golang.org/x/text v0.3.7 -> v0.12.0
- golang.org/x/time 90d013bbcef8 -> v0.3.0
- golang.org/x/tools v0.1.12 -> v0.12.0
- google.golang.org/genproto 6bfd019c3878 new
- google.golang.org/genproto/googleapis/api 6bfd019c3878 new
- google.golang.org/genproto/googleapis/rpc 6bfd019c3878 new
- google.golang.org/grpc v1.57.0 new
- google.golang.org/protobuf v1.28.1 -> v1.31.0
- gopkg.in/go-playground/assert.v1 v1.2.1 new
- gopkg.in/go-playground/pool.v3 v3.1.1 new
- gopkg.in/natefinch/lumberjack.v2 v2.0.0 -> v2.2.1
- k8s.io/api v0.25.4 -> v0.28.1
- k8s.io/apimachinery v0.25.4 -> v0.28.1
- k8s.io/client-go v0.25.4 -> v0.28.1
- k8s.io/code-generator v0.25.4 -> v0.28.1
- k8s.io/gengo 391367153a38 -> ab3349d207d4
- k8s.io/kube-openapi a70c9af30aea -> 2695361300d9
- k8s.io/utils ee6ede2d64ed -> d93618cff8a2
- sigs.k8s.io/controller-runtime v0.16.1 new
- sigs.k8s.io/gateway-api v0.5.1 -> v0.8.0
- sigs.k8s.io/json f223a00ba0e2 -> bc3834ca7abd
Previous release can be found at 1.6.0