Release v1.7.0
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
7ecd088chore(deps): bump sigs.k8s.io/gateway-api from 0.6.2 to 0.8.0 (#1945)2641c32chore(deps): bump k8s.io/code-generator from 0.28.0 to 0.28.1 (#1949)9f54d9cchore(deps): bump sigs.k8s.io/controller-runtime from 0.14.6 to 0.16.1 (#1947)519fd5cchore(deps): bump k8s.io/client-go from 0.27.4 to 0.28.1 (#1940)1466e89feat: use HOSTNAME as controller name and add default value. (#1946)0bbdc4ffeat: support controller as etcd server (#1803)cf88af9chore: add Gallardot for deps reviewer (#1942)aae52d5chore(deps): bump github.com/eclipse/paho.mqtt.golang in /test/e2e (#1891)1bea14fchore(deps): bump google.golang.org/grpc in /test/e2e (#1886)e0a2b17chore(deps): bump golang.org/x/net from 0.12.0 to 0.14.0 (#1920)c1f241bchore(deps): bump k8s.io/client-go from 0.27.4 to 0.28.1 in /test/e2e (#1938)c3174d4chore(deps): bump go.uber.org/zap from 1.24.0 to 1.25.0 (#1922)28d7c90chore(deps): bump github.com/onsi/ginkgo/v2 in /test/e2e (#1933)7b3deb5feat: add support for host pass in upstream crd (#1889)14e3c61chore(deps): bump go.uber.org/zap from 1.24.0 to 1.25.0 in /test/e2e (#1921)fa07c66fix(ci): udp forward failed and missing pigz (#1929)c3dff87dep: downgraded k8s.io/kube-openapi (#1919)b7329b0chore: clean up apisix v1 (#1916)f2ae01achore(deps): bump k8s.io/client-go from 0.27.1 to 0.27.4 (#1917)37e9201chore: Upgrade Go tool chain version 1.19 to version 1.20 (#1788)3fa789dchore: remove support for Ingress in the extensions/v1beta1 API version (#1840)3f45ca9ci: auto certs and upgrade APISIX to 3.4.1 version (#1911)8e3104bdocs: Add QA about exposing gateway as loadbalancer (#1907)c40b664ci: cron ci must use the logical AND condition (#1850)e809cfbfeat: Allow response header rewrite via Ingress annotations (#1861)3efd796chore(deps): bump github.com/gin-gonic/gin from 1.9.0 to 1.9.1 (#1852)a79c140chore(deps): bump k8s.io/client-go from 0.27.1 to 0.27.3 in /test/e2e (#1866)8e86331docs: update docs links (#1873)32c0751Update issuer.yaml (#1856)7540872chore(deps): bump github.com/gin-gonic/gin in /test/e2e (#1851)e5db08achore(deps): bump github.com/onsi/ginkgo/v2 in /test/e2e (#1837)373839achore(deps): bump github.com/stretchr/testify in /test/e2e (#1842)ff43aeedocs: Update powered-by.md (#1841)e91dbf5chore(deps): Update dependencies (#1833)113defcchore: rename all v2beta3 to v2 in e2e templates (#1832)7b81a8bchore: StringToByte without mem-allocation supports v1.20 (#1750)050d201chore: remove v2beta3 (#1817)c6a13b3chore(deps): bump github.com/onsi/ginkgo/v2 in /test/e2e (#1827)31891bafix: Referencing empty objects during tcproute and httproute updates (#1825)2182a48CI: add regression testing with apisix:dev (#1721)2641b78chore: add docker compose and docker-compose compatible (#1808)abfacd6fix: Keep health checker running when health check failed. Make healthcheck function pure (#1779)a414df7fix: secret reference update Ingress (#1780)2061824chore: upgrade ginkgo 1.9.0 to 1.9.2 (#1800)4b1ad1bfeat: sync consumer crd labels to apisix (#1540)98ff8e5fix: error message typo (#1790)3a8fdf6refactor: update status (#1618)5ef48f9chore(deps): bump github.com/gavv/httpexpect/v2 in /test/e2e (#1774)8e43700dep: Updated some dependencies. (#1782)2f9a4c8chore: use docker buildkit to cache go build cache (#1778)b4d1eedfeat: CRDs ingressClassName field cannot be modified (#1728)adf9757chore(deps): bump github.com/spf13/cobra from 1.6.1 to 1.7.0 (#1773)aad3ef6e2e: ingress annotations does not need to use v2beta3 (#1503)e6dbaa7fix: malformed URL created in schemaClient (#1772)97f9ef9feat: support webhook validate plugin (#1355)eb01907docs: describe how to generate secret from cert file (#1769)bacb8f8feat: sync apisix upstream labels (#1553)38710e7chore(deps): bump k8s.io/code-generator from 0.26.2 to 0.26.3 (#1764)b316705docs: add ApisixPluginConfig and update examples (#1752)045f5e7docs: Add lost entries ofdiscoveryin Upstream's reference doc. (#1766)2cb99b8feat: support comparison in resource sync (#1742)0602314docs: add traffic-split plugin usage (#1696)99b6634docs: Deploy to OpenShift (#1761)e0f4cc2docs: added Docker to prerequisite of Installation with Kind (#1751)7ccf531fix: missing upstream name in gateway-api routes (#1754)405b6fbchore(deps): bump github.com/onsi/ginkgo/v2 in /test/e2e (#1746)379e92echore(deps): bump golang.org/x/net from 0.7.0 to 0.8.0 (#1725)0ad8eaadocs: add tutorial on using custom Plugins (#1745)c5b2ae8chore(deps): bump k8s.io/client-go from 0.26.2 to 0.26.3 (#1734)8730f88chore(deps): bump k8s.io/client-go from 0.26.2 to 0.26.3 in /test/e2e (#1730)c6dd810feat: make multiple controllers handle different ApisixRoute CRDs (#593)6e22838feat: support ingressClass for ApisixGlobalRule (#1718)8b9726dchore(deps): bump github.com/onsi/ginkgo/v2 in /test/e2e (#1723)2cf5963ci: Upgrade Ginkgo to latest version (#1727)277669ee2e: more stability (#1739)a431dd0feat: Support GatewayAPI route attachment restriction (#1440)d871a2cfix: when secret created later than apisixtls it should be updated (#1715)f1395f1ci: regression test on apisix-and-all and apisix (#1726)271d89ffeat: ApisixClusterConfig support IngressClass (#1720)07c7d9dfeat: ApisixConsumer support ingressClass (#1717)3abe8affeat: ApisixTls suuport ingressClass (#1714)cfaa246chore(deps): bump golang.org/x/net in /test/e2e/testbackend (#1702)23d10a3chore(deps): bump k8s.io/client-go from 0.26.1 to 0.26.2 (#1709)93c795bfeat: support ingressClass for ApisixPluginConfig (#1716)97f6aedchore(deps): bump github.com/onsi/ginkgo/v2 in /test/e2e (#1703)d8f7353chore(deps): bump k8s.io/client-go from 0.26.1 to 0.26.2 in /test/e2e (#1705)5ec21c1chore(deps): bump golang.org/x/text in /test/e2e/testbackend (#1684)879b433chore(deps): bump github.com/stretchr/testify from 1.8.1 to 1.8.2 (#1689)13d2b5ddocs: monitoring apisix with helm chart (#1683)7d62b7echore(deps): bump github.com/gavv/httpexpect/v2 in /test/e2e (#1706)b616db4chore(deps): bump k8s.io/api from 0.26.1 to 0.26.2 in /test/e2e (#1704)d702809chore(deps): bump k8s.io/code-generator from 0.26.1 to 0.26.2 (#1708)fad7955docs: using APISIX Ingress as Istio egress gateway (#1667)acf3e36chore(deps): bump golang.org/x/sys in /test/e2e/testbackend (#1687)7862e28chore(deps): bump github.com/gin-gonic/gin from 1.8.2 to 1.9.0 (#1701)5fcd3d0feat: ApisixUpstream support IngressClass (#1674)4cd8ad5feat: sync plugin-config labels to apisix (#1538)ec09d4fdocs: Update the-hard-way.md (#1700)db4dc71docs: fix typo in aks deployment guide (#1695)9df7af6ci: add yamllint rules (#1666)4091ea0chore(deps): bump github.com/stretchr/testify in /test/e2e (#1691)51d0ecdfix: set the health check log level by gin to debug (#1580)3f76ae4feat: Add prefer_name into ApisixClusterConfig (#1519)de1928edocs: update grpc proxy (#1698)f6b3349chore(deps): bump github.com/gavv/httpexpect/v2 in /test/e2e (#1690)69fbdb2feat: support disable resource periodically sync (#1685)7a87083bump golang.org/x/net from 0.5.0 to 0.7.0 (#1678)872f291chore(deps): bump github.com/onsi/ginkgo/v2 in /test/e2e (#1679)86c14c7docs: fix jwtAuth configuration error in documents (#1680)0ff7acachore(deps): bump golang.org/x/net from 0.5.0 to 0.7.0 in /test/e2e (#1677)caf2639chore(deps): bump golang.org/x/net from 0.5.0 to 0.6.0 (#1668)5beb519docs: small adjustments to Check CRD status tutorial (#1670)1b66a8edocs: update the apisix image version and ingress image version (#1633)4241b67fix: panic at empty http spec (#1660)bcf44c6ci: update license-checker (#1652)199dcfffeat: support disable status (#1595)88d04f2chore(deps): bump github.com/gavv/httpexpect/v2 in /test/e2e (#1662)65701d8chore(deps): bump gopkg.in/natefinch/lumberjack.v2 from 2.0.0 to 2.2.1 (#1664)a0a50fefix: Ingress delete events can be handler after svc be deleted (#1576)e232a07docs: update Prometheus tutorial (#1635)3bc0587chore: Add more types in the pull request template (#1644)03b635achore(deps): bump github.com/gavv/httpexpect/v2 in /test/e2e (#1651)84d11a1chore: update issue templates (#1590)3db5dc2chore(deps): bump github.com/onsi/ginkgo/v2 in /test/e2e (#1632)acee3f6docs: fix type of .spec.plugins (#1645)7503056fix: Add ApisixUpstream CRD status property (#1641)eb86829docs: Update NOTICE (#1636)aa7967ddocs: rename references file to skip lint (#1638)5e0f89ftest(e2e): add stream tcp proxy with SNI test (#1533)33d42c3feat: add ldap-auth authorization method (#1588)ccdd6a2docs: add Gateway API installation instructions (#1616)905e1c5chore: upgrade gateway-api v0.5.1 to v0.6.0 (#1623)fe4e2afchore: add AlinsRan to dependabot reviewer (#1631)0518f01chore(deps): bump golang.org/x/net from 0.4.0 to 0.5.0 (#1621)e4d8ac9docs: using tool auto generate references (#1630)fa57ff5feat: add new ApisixGlobalRule resource to support global rules (#1586)4c0535bdoc: update 1.6 upgrade guide (#1592)1f4ade7chore(deps): bump github.com/onsi/ginkgo/v2 in /test/e2e (#1620)26a202dchore(deps): bump k8s.io/code-generator from 0.26.0 to 0.26.1 (#1622)a16b3dddoc: add svc-namespace description to the annotations (#1605)123d080feat: add support for filter_func for ApisixRoute (#1545)9476e13chore(deps): bump github.com/gavv/httpexpect/v2 in /test/e2e (#1617)72577c1chore(deps): bump k8s.io/client-go from 0.26.0 to 0.26.1 (#1614)00b3442docs: update prowered-by.md (#1604)9aae0e3ci: add goimports-reviser (#1606)4006ea8chore(deps): bump github.com/gavv/httpexpect/v2 in /test/e2e (#1611)2ee88adchore(deps): bump some dependencies (#1603)8e31a9bchore(deps): bump k8s.io/client-go from 0.26.0 to 0.26.1 in /test/e2e (#1613)afa9403docs: add tutorial for Gateway API (#1615)7c809c6docs: add Gateway API example to the "Getting started" guide (#1607)31714ebchore(deps): bump github.com/onsi/ginkgo/v2 in /test/e2e (#1599)1acb058chore(deps): bump dependencies from 0.25.4 to 0.26.0 (#1520)eb0bd81docs: update compatibility with APISIX (#1598)d3f2359docs: update controller to use adminAPIVersion=v3 (#1593)2024a09docs: add note about enabling the Plugin (#1596)32561d0fix: allow passing plugin config name for route with no backends (#1578)84390d4docs: add CHANGELOG for v1.6.0 (#1585)d701fefdocs: add example link. (#1582) (#1583)78272a5docs: Update the-hard-way.md (#1581) (#1584)486b46achore: rename TranslateXXNotStrictly to GenerateXXDeleteMark (#1490)b62be90chore(deps): bump github.com/onsi/ginkgo/v2 in /test/e2e (#1541)634b43ffeat: sync route crd labels to apisix (#1526)695a5e1docs: add instructions to use Network LoadBalancer (#1557)949c1dachore: admin-api default version v2 (#1558)5f98bc1docs: add match stream route with SNI tutorial (#1543)b5e89cfchore: set v1.6 as protect branch (#1556)1c42993fix: bad configuration item: apisix-admin-api-version (#1551)e734b2dchore: extra annotations logs (#1549)60061d0docs: update tutorial on installing APISIX in Kubernetes (#1550)39cffdcdocs: update synchronization status check docs (#1548)9208f58docs: 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